栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

主键排序

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

主键排序

数据通过聚簇索引进行物理存储,聚簇索引通常是主键,但不一定是主键。

如果没有ORDER BY子句,则不能保证SQL中的数据具有顺序。当您需要按特定顺序排列数据时,应始终指定ORDER
BY子句。如果表已经按照这种方式排序,那么优化器将不会做任何额外的工作,因此在其中放置表不会有任何危害。

如果没有ORDER
BY子句,则RDBMS在等待从磁盘读入记录时可能会返回与您的查询匹配的缓存页面。在这种情况下,即使表上有索引,数据也可能不会以索引的顺序出现。(请注意,这只是一个示例-
我不知道,甚至不认为现实世界中的RDBMS会做到这一点,但这对于SQL实现来说是可以接受的。)

编辑

如果排序时对性能的影响与不排序时对性能的影响有关,则可能是在没有索引(聚集或其他)的一列(或一组列)上进行排序。鉴于这是一个时间序列,您可能基于时间进行排序,但是聚簇索引位于主要bigint上。SQL
Server不知道两者的增长方式相同,因此必须采取一切措施。

如果时间列和主键列是按顺序关联的(当且仅当另一个增加或保持相同时,一个才会增加),请改为按主键进行排序。如果它们不是这种关系,则将聚簇索引从主键移至要作为排序依据的任何列。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/447036.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号