oracle 效能最佳化操作十八: 決定使用全表掃描還是使用索引,oracle效能最佳化

來源:互聯網
上載者:User

oracle 效能最佳化操作十八: 決定使用全表掃描還是使用索引,oracle效能最佳化

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

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

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

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

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

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

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

2)對於未排序的表    僅讀取少於表記錄數7%的查詢應該使用索引範圍掃描。
  
   反之,讀取記錄數目多於表記錄數的7%的查詢應該使用全表掃描。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.