常见的索引失效情形

2020-11-14  本文已影响0人  苍老师的眼泪
  1. 隐式转换导致索引失效.这一点应当引起重视.也是开发中经常会犯的错误. 由于表的字段tu_mdn定义为varchar2(20),
    但在查询时把该字段作为number类型以where条件传给Oracle,这样会导致索引失效.
    错误的例子:select * from test where tu_mdn=13333333333;
    正确的例子:select * from test where tu_mdn='13333333333';

  2. like "%_" 百分号在前.

  3. or 运算符有没有建立索引的的操作数(or两边列都需要索引)

  4. 如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引

  5. 如果mysql估计使用全表扫描要比使用索引快,则不使用索引

  6. 对索引列进行运算导致索引失效,我所指的对索引列进行运算包括(+,-,*,/,! 等)

上一篇 下一篇

猜你喜欢

热点阅读