select
*from
table
;
查詢的資料的預設順序是什麼?插入資料的順序?主鍵的順序?…
返回的資料的順序在沒有order by的情況下,完全依賴於特定的情況,可能影響輸出順序的情況很多:包括資料庫型別,資料庫的版本,儲存引擎,儲存引擎的版本,是否查詢時有對資料的修改,資料是否轉移過機器,資料的索引狀態…
sql裡,資料本身沒有內在的順序,如果沒有order by
,資料的順序是未知的,不穩定的,沒有所謂的「預設排序」。
即使在某些情況下,可觀察到在沒有order by
的情況下,資料輸出的順序是按照特定的規則排過序的,比如按照插入順序輸出,這也只能當做乙個巧合,可能很不穩定,如果需要輸出的資料有強制,穩定的排序,必須使用order by
。
修改sql查詢預設排序問題
sql裡好象預設都將select出來的記錄都做了排序的,現在有以下的語句 select from tablename where class 0 and id in 252,679,321,100,270 我想在select完以後,輸出的結果是未排過序 那些id是怎麼進來的就怎麼排序 252679 ...
oracle 預設排序
oracle對無order by的語句返回的結果不進行排序,oracle此時的處理方式是按照資料的物理儲存順序來讀取資料。因為rowid是每行資料的位址,所以有時候看起來會像是使用rowid排序的。但這個順序是可能被打亂的,在表的資料被刪除後,rowid會被新插入的資料占用。所以乙個無order b...
mysql 預設排序 修改 MySQL修改預設排序
乙個資訊發布系統,大多數情況最新發表的記錄要顯示在最前面。select from article where username 阿海 order by posttime desc limit 0,10 假如使用者發表的文章有上萬篇,這個排序將會非常的慢,好像沒有使用索引一樣,show process...