现在有三个表连接查询select from a where (a 条件) left join b on a.id=b.id left join c on a.id=c.id
其中 a表 里面有 50万数据 根据条查出来 1000多 b表里面有10万 数据 c表里也是10万数据,如何进行查询优化,减少查询量?

解决方案 »

  1.   

    楼主期望的结果是什么样?   建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://bbs.csdn.net/topics/320211382
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
      

  2.   


    按照你说的方式,就是先用条件过滤a表,减少返回的数据,如果速度慢,可以考虑给条件字段上加索引。然后,关联b表,c表,关联字段上最好也创建索引