Oracle SQL的優化(3)

2/9/2008來源:Oracle教程人氣:5860


使用Index提示:
1、Index提示是最常用的與索引有關的提示,使用Index提示時,雖然可以列出特定的索引,但不一定要提
及索引名。
例如:
    select /*+index(bookshelf)*/ title from bookshelf where categoryname='HARRISON'
因為在title上有索引,此查詢將使用索引而無需提示,但是,假如索引是非選擇性的或者表比較小且使用了
CBO則優化器可能會忽略索引,使用Table access Full。假如你知道索引對于給定的值來說是選擇性的,則
可以使用index提示強制使用一個基于索引的數據訪問路徑,而不是全表掃描! 注重:假如不在index提示中列出特定的索引,且表中有多個可供使用的索引,則優化器將會評估可用的索引
      并選擇其掃描成本最低的索引。優化器還可以選擇掃描幾個索引并利用And-Equal操作來合并他們。
索引的其它優化問題:
(1)、一般來說,優化程序掃描單一的復合索引的速度要比掃描多個獨立的單個索引的速度要快,掃描所返回的
   行數越多越能體現復合索引的性能。
(2)、可以使用index提示強迫優化器使用跳躍掃描功能。


股票交流论坛