SQL 使用记录(1)

背景:某个结果表因性能问题拆成两个表,为避免两个表来回,而使用多表查询。

过程:

1.想 select * from A,B where status = 'Failed'  ,没问题,查询很快,

2.更进一步 select * from A,B where status = 'Failed'  order by id desc  ,查询,慢的天荒地老 。

3.sql语句前加explain,作用查看sql语句逻辑 原因: 临时表 、排序  

4.百度后,原因很明确临时表、排序造成的,解决办法:换种方法查询-》左连接

5.select * from A,B left join A.id = B.id  where status = 'Failed' order by id desc  没问题,很快

6.explain结果:很明显不需要临时表与排序

原文地址:https://www.cnblogs.com/1-qaz/p/13219884.html