0
我在表中有一組記錄。我通過select獲得記錄,沒有任何訂單陳述,只是select * from table
,所以沒有任何明顯的順序。Postgresql記錄順序
更新某些記錄後,記錄順序是否會有所不同?
我在表中有一組記錄。我通過select獲得記錄,沒有任何訂單陳述,只是select * from table
,所以沒有任何明顯的順序。Postgresql記錄順序
更新某些記錄後,記錄順序是否會有所不同?
Postgres數據庫表中沒有內部命令(對於大多數其他RDBMS,情況也是如此)。選擇時將存在的唯一順序是您使用ORDER BY
子句指定的順序。所以,你的問題的答案是,如果你想在結果集中保持一致的,可重複的順序,你應該總是依靠ORDER BY
。
謝謝,你是對的。從PG文檔:「在查詢生成了一個輸出表(處理完選擇列表之後)之後,它可以選擇性地進行排序,如果未選擇排序,那麼這些行將以未指定的順序返回。將取決於掃描和連接計劃類型以及磁盤上的順序,但不能依賴它。只有在明確選擇了排序步驟的情況下,才能保證特定的輸出順序。「 – user3309314
很好的參考,謝謝你包括這個。 –