gpt4 book ai didi

sql-server - 标识列和在查询中使用 order by

转载 作者:行者123 更新时间:2023-12-02 22:24:59 24 4
gpt4 key购买 nike

我使用 SQL Server 2008 R2 并有一个表,其 id 列为 identity(1,1)。如果我想获取按 id 列排序的查询,则必须使用 Order By ID 否则没有必要。

编辑:我在 ID 列上有一个唯一的聚集索引。做这个索引保证我的查询默认按 id 排序。

最佳答案

在省略 ORDER BY 的情况下——顺序是不可预测的。因为这样的 SQL 语句不要求明确的顺序,所以 SQL Server 可以在准备好结果时返回结果。

这意味着:

  • 顺序完全取决于执行计划。

  • 某些过滤条件返回的顺序,在其他条件下可能不同案例

  • 聚簇索引在某些情况下甚至可以用于某些执行计划。在这些情况下(未使用时)- 不考虑其顺序。

对于某些选择,可以使用其他覆盖索引(不是按 ID 排序)。这将导致“意外”订单。

如果我们需要得到有序列表,我们必须使用明确的ORDER BY子句。然后我们可以确定顺序。只有这样。

关于sql-server - 标识列和在查询中使用 order by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13101414/

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