My FAQ,最新最全的IT技术FAQ
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 未整理篇 | 技术讨论
  当前位置: > 程序开发 > 数据库开发 > Oracle
Oracle SQL的优化(3)
作者:未知 时间:2005-09-13 23:41 出处:Blog.ChinaUnix.net 责编:My FAQ
              摘要:Oracle SQL的优化(3)


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

 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有