FROM performancedb.p_url_log u  WHERE server_id = 6  AND app_id = 7  AND group_date >= 1353945600000KEY `idx_groupdate_serverid` (`group_date`,`server_id`)索引没用到!

解决方案 »

  1.   

    create index .... on p_url_log(server_id,app_id,group_date)
    注意复合索引中字段的次序。
      

  2.   

    KEY `idx_groupdate_serverid` (`server_id`,app_id,`group_date`)
      

  3.   

    在where语句中将server_id 跟 group_date 调换顺序也没有给,还有不想将app_id列为索引列,只要group_date跟app_id
      

  4.   

    在where语句中将group_date 跟server_id 调换顺序也没用,还有就是不想把app_id加入索引列,只要group_date跟server_id。
      

  5.   


    大神,数据太多 创建索引的半个小时,不把索引删掉  只把 where调换顺序不可以吗?
      

  6.   


    =可以用 但是不理解 而且这样也不是预期的效果 看来只有删了重新建index了
      

  7.   

    WHERE后的顺序没有意义,关键是索引中的顺序。
      

  8.   


    为什么就不能把group_date 放前面呢
      

  9.   

    对于复合索引是有先后顺序之分的,具体看那个索引字段在前面,那个字段先起作用。
    与where后条件的顺序是无关系的。