比如下面的 sql
SELECT * FROM tb_package p LEFT JOIN tb_package pt ON pt.package_id = p.package_id AND pt.type != 0 LEFT JOIN tb_package_item pi ON pi.package_id = p.package_id LEFT JOIN tb_package_log pl ON pl.package_id = p.package_id and pl.status = 40 LEFT JOIN tb_bill w ON w.id = pi.bill_id WHERE p.mhid = 110 ORDER BY p.create_time DESC LIMIT 0, 20;
把 AND pt.type != 0 这句放在连表单后面就没有 using filesort using temporary
但是放在 where 后面就会使用 using filesort using temporary
这是为什么呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.