oracle 性能优化操作一:避免对列的操作

【本文转载自:http://blog.csdn.net/helloboat/article/details/42418045,对作者表示感谢!】


任何对列的操作都可能导致全表扫描,这里所谓的操作包括数据库函数、计算表达式等等,查询时要尽可能将操作移至等式的右边,甚至去掉函数。

例1:下列SQL条件语句中的列都建有恰当的索引,但30万行数据情况下执行速度却非常慢:

select * from record where  substrb(CardNo,1,4)='5378'(13秒)  

select * from record where  amount/30< 100011秒)  

select * from record where  to_char(ActionTime,'yyyymmdd')='19991201'10秒)  

由于where子句中对列的任何操作结果都是在SQL运行时逐行计算得到的,因此它不得不进行表扫描,而没有使用该列上面的索引;如果这些结果在查询编译时就能得到,那么就可以被SQL优化器优化,使用索引,避免表扫描,因此将SQL重写如下:

select * from record where CardNo like  '5378%'(< 1秒)

select * from record where amount  < 1000*30(< 1秒)

select * from record where ActionTime= to_date ('19991201' ,'yyyymmdd')(< 1秒)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle性能优化》是Oracle四大宝典之一,它是针对如何提高Oracle数据库性能的指南。尤其对于大型企业级数据库系统来说,性能优化是至关重要的,能够提升系统的响应速度,提高数据处理效率,保证业务的顺利进行。 在《Oracle性能优化》一书中,作者深入介绍了性能优化的各个方面,包括数据库设计、查询优化、索引优化、存储优化等。首先,作者强调了合理的数据库设计的重要性,通过合理的表结构设计、数据类型选择、范式设计等,可以减少数据冗余和不一致,提高查询效率。其次,作者介绍了查询优化的方法,包括优化SQL语句、合理使用Oracle内置函数和操作符、避免全表扫描等,可以减少查询的时间和资源消耗。此外,作者还详细介绍了索引的使用和优化技巧,包括选择合适的索引类型、为关键查询字段创建索引、避免过多索引等,以加快查询速度。最后,作者分享了一些存储优化的实践经验,如适当调整存储参数、合理划分表空间、使用归档模式等,以提升数据库的整体性能。 总的来说,《Oracle性能优化》是一本宝贵的指南,对于学习和实践Oracle性能优化技术的人来说具有很高的参考价值。通过掌握其中的知识,数据库管理员和开发人员能够更好地了解Oracle数据库的性能瓶颈,并能够采取相应的优化措施来改善数据库的性能。最终,这将提高企业的业务效率和竞争力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值