Oracle SQL的优化(3)

王朝oracle·作者佚名  2008-05-31
宽屏版  字体: |||超大  

使用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提示强迫优化器使用跳跃扫描功能。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有