请帮助我了解以下哪两项查询从性能点来看是好的。我已经检查了解释计划的成本,这两个查询都是相同的。
1)
select tbl_LP.fn FNr, s.sourceNr SNr, Product.quantity
from tbl_Source s, tbl_LP, Product
where Product.tbl_Source_id=s.id and Product.tbl_LP_m_id=tbl_LP.id
and s.sourceNr like 'T%';
2)
Select tbl_LP.fn FNr, s.sourceNr SNr, Product.quantity
from tbl_Source s
INNER JOIN Product ON Product.tbl_Source_id=s.id AND s.sourceNr like 'T%'
INNER JOIN tbl_LP ON Product.tbl_LP_m_id=tbl_LP.id;
答案 0 :(得分:2)
完全没有区别。它是关于您更喜欢阅读/保留查询的方式。我更喜欢连接方法,因为您将表之间的链接与您可能拥有的过滤器隔离开来。但是,在底线,执行计划是查看查询是否会以某种方式表现更好的指南。我发现了另一个问题,它提供了很好的例子。
What's the difference between comma separated joins and join on syntax in MySQL?