我使用SQL Server 2008 R2,並有一個id
列作爲identity(1,1)
。如果我想按id列排序查詢,那麼必須使用Order By ID
或不必要。標識列和在查詢中使用的順序
編輯: 我在ID列上有一個獨特的聚集索引。做這個索引保證我的查詢默認按id排序。
我使用SQL Server 2008 R2,並有一個id
列作爲identity(1,1)
。如果我想按id列排序查詢,那麼必須使用Order By ID
或不必要。標識列和在查詢中使用的順序
編輯: 我在ID列上有一個獨特的聚集索引。做這個索引保證我的查詢默認按id排序。
在ORDER BY被省略的情況下,訂單是不可預知的。由於這樣的SQL語句不要求顯式的順序,因此SQL Server可以在準備就緒時返回結果。
這意味着:
的順序是完全依賴於執行計劃。
順序返回一些過濾條件,可以在其他 情況不同
對於某些select可以使用其他覆蓋索引,(這不是按ID排序)。這將導致「意外」訂單。
如果我們需要得到有序列表,我們必須使用明確的ORDER BY子句。然後我們可以確定訂單。只有這樣。
沒有默認排序順序。即使該表格有聚簇索引,也不保證以該順序得到結果。
您必須指定ORDER BY
條款到您想要的排序順序。
當未使用「ORDER BY」時,不保證表格的順序。
你的意思是默認ID按ID排序嗎? – codingbiz
如果您想要按ID排序,請指定它。 – codingbiz
@codingbiz:是的默認情況下,我的查詢按ID排序? –