我的一个order表中有个多列索引
1.正常情况下,select where 后面同事跟索引中这2个字段,查询速度很快
2.但是我如果只查询user_id这个字段会特别的蛮,如果再加上其他的判断,基本就卡死了,我印象中,多列索引中,如果只用第一个字段是能生效的,explain也显示有生效想知道查询慢的原因,希望得到大家的帮助,谢谢

解决方案 »

  1.   

    1: 理论上 如果列UserID选择性高 且数据分布均匀的话 使用索引应该非常快
    2: 从执行计划上看, 确实有走索引,但Rows=30万+   说明df_order表的数据量至少在千万以上.  不好优化, 最好分区分表.  另外,如果查询条件再加上其它字段的话, 会导致回表,速度又会慢一个量级
      

  2.   


    如果我给user_id字段单独添加单列索引,会不会有所改善?