码迷,mamicode.com
首页 > 数据库 > 详细

oracle 性能优化操作五:尽量去掉 "<>"

时间:2015-01-06 09:59:24      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:

oracle 性能优化操作五:尽量去掉 "<>"

尽量去掉 "<>",避免全表扫描,如果数据是枚举值,且取值范围固定,则修改为"OR"方式。

例:

<span style="font-size:18px;">UPDATE SERVICEINFO SET STATE=0 WHERE STATE<>0;</span>

以上语句由于其中包含了"<>",执行计划中用了全表扫描(TABLE ACCESS FULL),没有用到state字段上的索引。

实际应用中,由于业务逻辑的限制,字段state为枚举值,只能等于0,1或2,而且,值等于=1,2的很少。

因此可以去掉"<>",利用索引来提高效率。

修改为:

<span style="font-size:18px;">UPDATE SERVICEINFO SET STATE=0  WHERE STATE = 1 OR STATE = 2 ;</span>

进一步的修改可以参考“oracle 性能优化操作四”。

oracle 性能优化操作五:尽量去掉 "<>"

标签:

原文地址:http://blog.csdn.net/helloboat/article/details/42453863

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!