SELECT COUNT(*) as c FROM esf_sell WHERE  househx_s='2'  AND  ifpass='1';    QueryTime大约1.3。
数据表中househx_s是索引字段,ifpass为非索引字段.如果我把and ifpass去掉则QueryTime控制在0.1以内。我现在想给
这两个字段加个联合索引。那样肯定会快一些。可是我的表中已经有不少索引。并且表是不断更新的。再加联合索引好不好?
如果不好,怎么让索引速度快一点。

解决方案 »

  1.   

    索引是双刃剑,如果恰当的话,查询速度会快一些,不过插入、更新速度会有影响,
    你在househx_s、ifpass上建立复合索引试试
      

  2.   

    我测试了,还是不能加了。因为对insert和update影响比较大。造成lock时间较长,所以还是不加了。谢谢两位。给分
      

  3.   

    同意楼上,但得具体细节也得注意,
    例如:where条件需要把条件过滤最多的那个条件放到最后,where是从后往前运行。