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

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 性能优化操作四”。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。