標籤:
oracle本身不具有任何預設排序功能,要想排序,必須使用order by ,而order by後的資料行預設是asc(升序排列),要降序選擇descOracle會根據具體的資料區塊的儲存返回記錄.oracle資料庫是沒有預設排序的 要排序必須加上order by 因為oracle是按塊進行讀取資料的 如果資料按順序儲存,則可能使讀取出來的資料是按順序的,給使用者誤解為預設排序oracle沒有進行任何排序操作,rowid表示的是資料存放的資料區塊內部地址,如果沒有要求排序,oracle會順序的從資料區塊中讀取合格資料返回到用戶端,不過看起來好像是按照rowid排序似的如果資料量足夠大,即使相同的語句,都有可能不同的結果。一般而言表是堆表所以是無序的他是按照也即物理存放順序來讀取的rowid 是自動隨行產生的 另:oracle 的rowid是啥意思---------------------------------------------------------------rowid是資料庫的一個偽列,建立表的時候資料庫會自動為每個表建立ROWID列用來唯一標識一行記錄。rowid是儲存每條記錄的實際物理地址,對記錄的訪問是基於ROWID。---------------------------------------------------------------每條記錄的物理地址,對資料庫中記錄行的作快檢索方式就是使用rowid來進行尋找。---------------------------------------------------------------唯一標識一行記錄select rowid,* from 表名試一下,你就明白了---------------------------------------------------------------rowid就象是郵遞員送信時要找的信封上的家庭地址一樣,每個rowid都不會重複,oracle尋找通過它可以更快地尋找到資料.---------------------------------------------------------------rowid是一個偽列,對應 塊號,行號,行的序號..
Oracle排序問題