gpt4 book ai didi

sql-server - 主键升序与降序

转载 作者:行者123 更新时间:2023-12-01 19:48:29 25 4
gpt4 key购买 nike

在 Sql Server 中,我有一个带有身份主键的表。通常我想要最新的几条新记录,因此我会获取按主键降序排序的前 n 条记录。我应该将主键索引定义为降序,还是没有区别?即,如果它们按升序排列,那么 sql 是否可以同样有效地向后工作?

最佳答案

从纯粹查询的角度来看,如果你想拉取 N 个最近的记录或 N 个最旧的记录,无论你的键是降序还是升序都没有区别:

The internal algorithms of SQL Server can navigate equally efficiently in both directions on a single-column index, regardless of the sequence in which the keys are stored. For example, specifying DESC on a single-column index does not make queries with an ORDER BY IndexKeyCol DESC clause run faster than if ASC was specified for the index.

http://msdn.microsoft.com/en-us/library/aa933132(SQL.80).aspx

但是在几乎任何正常情况下,您希望主键升序且按顺序排列,以防止碎片。 SQL Server 针对将新记录物理附加到数据库文件末尾进行了优化。如果它需要在顶部插入每条新记录并将所有内容向下推,则可能会导致几乎 100% 的碎片。

关于sql-server - 主键升序与降序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/649307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com