zoukankan      html  css  js  c++  java
  • SQL语句中索引失效的原因

    SQL语句中索引失效的情况。

    总结如下:

    1. 索引字段进行判空查询时。也就是对索引字段判断是否为NULL时。语句为is null 或is not null。 

    select * from 表一  where   字段一 is null;
    select * from 表一  where   字段一 is not null;

    2. 对索引字段进行like查询时。比如:select * from SoftWareDetailInfo where SoftUseLine like '%OQC%'。不过网上有的例子说like 'xx%'索引起作用。我没试过。

    3. 判断索引列是否大于、小于或者不等于某个值时。

    select * from 表一 where  字段一 != 1select * from 表一 where  字段一 > 1select * from 表一 where  字段一 < 1

    4. 对索引列进行运算。这里运算包括+-*/等运算。也包括使用函数。比如:

      select * from SoftWareDetailInfo where SoftUseLine +0= 0

      此时索引不起作用。

      select * from SoftWareDetailInfo where count(SoftUseLine) = 0

      此时索引也不起作用。

      也就是说如果不是直接判断索引字段列,而是判断运算或其它函数处理后的索引列索引均不起作用。

      5. 复合索引中的前导列没有被作为查询条件。比如:Index_SoftWareDetail索引包含(a,b,c) 三列,但是查询条件里面,没有a,b 列,只有c 列,那么 Index_SoftWareDetail索引也不起作用。

  • 相关阅读:
    获取指定位置的颜色值
    《QTP自动化测试进阶》读书笔记
    Delphi自动化测试
    QTP中DOM的递归调用取html页面值
    PowerShell
    Dictionary对象与XML文件之间的导入导出
    BPT业务流程自动化测试
    VisualStudio 自动化测试框架 Coded UI Test
    使用QTP查找邮件
    QTP11视频
  • 原文地址:https://www.cnblogs.com/changdasheng/p/11281588.html
Copyright © 2011-2022 走看看