在sql中不指定Order by排序是按照主鍵嗎
在sql中不指定Order by,排序是按照主鍵嗎?答案是不一定。舉個例子:
查詢AttendanceEmpRank表,主鍵是AttendanceEmployeeRankId,而且是聚集索引
執(zhí)行下面的語句,發(fā)現(xiàn)第一句不指定Order by的結(jié)果跟第二句不一樣。
再看看執(zhí)行計劃,我們可以知道,第一句用到的是Date索引,而第二句用的是主鍵索引.
再看看另一組sql和查詢結(jié)果:
執(zhí)行計劃中用到的索引也是不同的:
所以得出結(jié)論:在不指定Order by的情況下,sqlserver會根據(jù)執(zhí)行計劃實(shí)際查詢方式來得到數(shù)據(jù),而執(zhí)行計劃會根據(jù)sql中很多的因素(的查詢列,where條件,order by等)而使用不同的索引,最終出來的結(jié)果很可能是不同的。
相關(guān)文章
Navicat連接本地SqlServer出現(xiàn)?[08001][Microsoft][sQL?Server?Nati
這篇文章主要給大家介紹了Navicat連接本地SqlServer出現(xiàn)?[08001][Microsoft][sQL?Server?Native?Client?11.0]命名管道提供程序:無法打開與SQL?Server等錯誤的解決方法,需要的朋友可以參考下2023-09-09sqlserver isnull在數(shù)據(jù)庫查詢中的應(yīng)用
isnull在數(shù)據(jù)庫查詢中的應(yīng)用,特別是再語句連接的時候需要用到2011-11-11SQL Server 索引結(jié)構(gòu)及其使用(一)--深入淺出理解索引結(jié)構(gòu)
深入淺出理解索引結(jié)構(gòu)2009-04-04Transactional replication(事務(wù)復(fù)制)詳解之如何跳過一個事務(wù)
事務(wù)復(fù)制由 SQL Server 快照代理、日志讀取器代理和分發(fā)代理實(shí)現(xiàn)。 快照代理準(zhǔn)備快照文件(其中包含了已發(fā)布表和數(shù)據(jù)庫對象的架構(gòu)和數(shù)據(jù)),然后將這些文件存儲在快照文件夾中,并在分發(fā)服務(wù)器中的分發(fā)數(shù)據(jù)庫中記錄同步作業(yè)。2014-08-08MSsql每天自動備份數(shù)據(jù)庫并每天自動清除log的腳本
有自己服務(wù)器的朋友需要用到的東西,因?yàn)閙ssql數(shù)據(jù)需要經(jīng)常備份2008-09-09