2016-04-15 51 views
0

我在數據庫接口上工作,需要以下問題的答案:SELECT *確定性?

請問SELECT * FROM some_table總是會以相同的順序返回結果嗎?

+1

'SELECT *'是反模式。長期來看,問題多於收益。如果將來有人添加新專欄? – lad2025

+0

相同的列順序或行順序? – Alnitak

+2

如果你是指列的順序:是的。如果你的意思是排的順序:不。除了添加一些'order by'子句外,行的順序也總是相同的。 – PerlDuck

回答

-1

默認情況下,它通過primary_key返回訂單(如果您沒有提供任何訂單條款)

+1

這對我來說會是新聞嗎? –

+3

啊,似乎有時*是這種情況,但不能依賴。請參閱http://stackoverflow.com/questions/8746519/sql-what-is-the-default-order-by-of-queries –

+0

我想如果查詢優化器決定直接通過索引獲取行可能會發生。但是SQL的縮略規則是:避免不必要的昂貴操作(如排序)。 –