"">

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

你可能感兴趣的:(oracle 性能优化操作五:尽量去掉 "<>")