读书频道 > 网站 > 网页设计 > Oracle Database 11gR2性能调整与优化
2.4.1 使用不等于运算符(<>、!=)
14-01-07    奋斗的小年轻
收藏    我要投稿   
在Oracle认证大师Richard Niemiec的帮助下,系统地识别和排除数据库的性能问题:《Oracle Database 11g R2性能调整与优化》一书详细介绍了最新的监控、故障排除和优化的方法,取自真实世界的案例研究和最佳实立即去当当网订购

索引只能用于查找表中已存在的数据。每当在WHERE子句中使用不等于运算符时,其中被用到的列上的索引都将无法使用。请考虑下面对customers表的查询,该表中的cust_rating 列上有一个索引,下面的语句仍会产生一次全表扫描(因为大多数记录都要被返回),即使列cust_rating 上存在索引:

select cust_id, cust_name

from    customers

where   cust_rating <> 'aa';

Oracle在分析表的同时收集表中数据分布的相关统计信息。通过使用这种方法,基于成本的优化器就可以决定在WHERE 子句中对一些值使用索引,而对其他的值不使用。在应用程序开发和测试期间,应该使用具有代表性的行集,从而可以模拟产品环境中实际的数据值分布情况。

要诀

您可以通过使用CREATE INDEX命令的COMPUTE STATISTICS子句,在创建索引的同时分析它们1。也可以从生产数据库中导入统计信息来测试执行路径(参考Oracle 11.2 Database Performance Tuning Guide)。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站