程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> oracle性能優化操作十八:決定使用全表掃描還是使用索引

oracle性能優化操作十八:決定使用全表掃描還是使用索引

編輯:Oracle教程

oracle性能優化操作十八:決定使用全表掃描還是使用索引


和所有的秘笈一樣,最後一招都會又回到起點,最後我們來討論一下是否需要建立索引,也許進行全表掃描更快。

在大多數情況下,全表掃描可能會導致更多的物理磁盤輸入輸出,但是全表掃描有時又可能會因為高度並行化的存在而執行的更快。

如果查詢的表完全沒有順序,那麼一個要返回記錄數小於10%的查詢可能會讀取表中大部分的數據塊,這樣使用索引會使查詢效率提高很多。

但是如果表非常有順序,那麼如果查詢的記錄數大於40%時,可能使用全表掃描更快。

因此,有一個索引范圍掃描的總體原則是:

1)對於原始排序的表 僅讀取少於表記錄數40%的查詢應該使用索引范圍掃描。

反之,讀取記錄數目多於表記錄數的40%的查詢應該使用全表掃描。

2)對於未排序的表 僅讀取少於表記錄數7%的查詢應該使用索引范圍掃描。

反之,讀取記錄數目多於表記錄數的7%的查詢應該使用全表掃描。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved