程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 在sql中不指定Order by排序是按照主鍵嗎

在sql中不指定Order by排序是按照主鍵嗎

編輯:關於SqlServer

在sql中不指定Order by,排序是按照主鍵嗎?答案是不一定。舉個例子:

查詢AttendanceEmpRank表,主鍵是AttendanceEmployeeRankId,而且是聚集索引

1

執行下面的語句,發現第一句不指定Order by的結果跟第二句不一樣。

2

再看看執行計劃,我們可以知道,第一句用到的是Date索引,而第二句用的是主鍵索引.

3

再看看另一組sql和查詢結果:

4

執行計劃中用到的索引也是不同的:

5

所以得出結論:在不指定Order by的情況下,sqlserver會根據執行計劃實際查詢方式來得到數據,而執行計劃會根據sql中很多的因素(的查詢列,where條件,order by等)而使用不同的索引,最終出來的結果很可能是不同的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved