我很想知道在没有任何要加入的情况下调用LEFT JOIN
会有什么查询惩罚。
我有两张表:main
有.ID
,.type
和.info
,additional
有.ID
和.more_info
< / p>
我正在运行此查询:
SELECT main.*, additional.* FROM main LEFT JOIN additional ON main.ID = additional.ID
我完全清楚70%的时间,我将要查询main.type
没有其他信息 - {{1}中没有条目但由于限制,我总是要包含LEFT JOIN语句。
这会产生多少查询惩罚(时间) - 如果有的话?
E.G。是:
additional
将明显快于:
SELECT * FROM main WHERE type = 'no additional'
?
答案 0 :(得分:0)
为什么不对它进行基准测试?没有比赛没有罚款。 MySQL必须扫描已连接字段REGARDLESS的索引以检查是否存在匹配项。
如果有的话,获取连接结果实际上是一种惩罚,因为现在MySQL必须深入挖掘表格文件以恢复结果。