我试图确定在JOIN ON子句中或WHERE子句本身中的MySQL查询中使用选择参数是否有任何已知的好处。
我确定并知道返回的结果是相同的,并且在本地测试时,“查询时间”似乎几乎可以忽略不计,但想查看是否有任何专家意见。
后端在这两个方面是否有区别,如果有,那么哪个更好?
SELECT
*
FROM users a
JOIN user_photos b ON (b.userid = a.userid)
WHERE
a.userid = 12345
AND b.photo_type = 1
SELECT
*
FROM users a
JOIN user_photos b ON (b.userid = a.userid AND b.photo_type = 1)
WHERE
a.userid = 12345
只要没有外部联接,结果集就不会有任何区别。所有并非完全愚蠢的优化器都将完全相同地对待这两个版本。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句