背景:导出APP运行的某些日志以及相关字段信息
原操作:简单的使用 left join 差不多6张表,查询花费时间 200s
优化操作:jion 时不选用完整表,先查询自己需求的字段后再join。
判断联表左右哪一个表表较小,酌情采用left join 或者 right join
示例: SELECT a.A,b.B,c.C
FROM a
RIGHT JOIN (SELECT b.id,b.id2 FROM b WHERE 1=1 ) b ON b.id = a.id
RIGHT JOIN (SELECT id FROM c) c ON b.id2 = c.id
WHERE c.uuid IS NOT NULL;
ps:join 后where 字段为非必须的条件查询了。