解决方案 »

  1.   

    id是主键应该不用建立索引吧? 当然我不确定 ,这个项目才用mysql的 
      

  2.   

    @WWWWA  大师 我可以私信你么,我嚼得这个问题跟着大师搞定了我的sql就上另一个台阶了 - -
      

  3.   

    貌似a表不是唯一的大表,对于关联的b、d中有多条对应a的同一条记录,因此你的sql中使用了distinct。而这个distinct导致了using temporary
      

  4.   

    因为a表对应多个f表 一个用户b表也对应多个f  所以需要去重复
      

  5.   

    以文本格式贴出 show index from ..及 explain select ...以供分析。图形并不方便他们进行阅读分析。
      

  6.   

    .................既然用了distinct就别想这消除using temporary,一定程度上减弱倒是有可能,不过看你数据量那么小,做额外的优化没有意义。这个额外的优化需要根据你的具体数据量评估。
    另外,表结构设计中一定存在问题。需要作为字典的唯一字段没有字典表,而又用于关联查询。如果这是一个关键的影响性能的点,那么就要考虑优化表结构设计了。
      

  7.   

    从你的sql复杂程度就可以看出,你这个并不是极限追求性能的地方。因此,我觉得根据你的性能指标适当优化即可。