oracle查詢的問題

時間 2022-08-24 09:45:11

1樓:匿名使用者

如果你的表是經常改動的,可能是因為hwm太高了,而且hwm下有很多的空塊,所以會導致兩個查詢出現差異,解決方法就是shrink 一下表的空間,然後重新收集下表的統計資訊,如果不是這種原因隨時hi我。

2樓:瘋狂**

你嘗試重啟一下oracle伺服器,然後執行select * from table where rownum<10000000 order by id desc

再執行select * from table order by id desc

看下結果是不是就不一樣了,資料有快取的,因為第一次查詢的時候資料庫已經取出了記錄集,並快取出來了,你下次再執行類似的問題的話就快了

3樓:

這個應該是索引和全表掃描的問題。。

總感覺你這個好像寫反了,因為你取的是全表中的所有記錄按理說應該是走全表掃描速度要大於走索引的速度。。

理論上應該是加rownum的時候不走索引,而不加rownum的時候走索引才對啊。

能不能把你的執行計劃貼出來看一下?

4樓:匿名使用者

明顯是快取嘛!

oracle 有一個資料快取區,有專門用來儲存sql的返回資料。 另外,你可以瞭解下rownum 這個關鍵字,oracle 是對它有特殊處理的。成百上千萬的資料,靠它分頁效能效率等問題。

我印象中,不光oracle 有快取機制,plsql 這個工具也有

5樓:匿名使用者

rownum是一種偽列,它會根據返回記錄生成一個序列化的數字,相當於增加一個索引。

Oracle查詢去除重資料,oracle查詢出來的資料怎麼消除重複資料?

1 distinct 關鍵字的用法 distinct 關鍵字後面的欄位組合去重 distinct 必須 select distinct id from test 結果 根據id 去重 select distinct id,name from test 2 group by 分組去重 select i...

oracle 查詢題目 50,oracle選擇題?

樓上正解,用as取別名就可以將查詢出來的1和2變成男和女。oracle選擇題?第一個問題 number 10,2 答案應該是第一個,小數三位會報錯的。oracle number precision,scale 用法,precision表示數字中的有效位 如果沒有指定precision的話,oracl...

oracle查詢欄位帶雙引號,oracle中的欄位別名與表別名的命名規則,就是要不要加 as 要不要雙引號

比如說你建一個欄位名叫number 你用的時候必須要這樣 number 這就是關鍵字要叫 還有你給欄位名給別名的話不讓用數字表示,加個雙引號就可以了 可以通過like模糊配置方法進行實現。sql select from tablename where userdesc like 備註 以上語句中 表...