为什么LEFT JOIN会降低服务器中所有查询的性能?

时间:2016-04-10 11:37:20

标签: mysql join

每当我向40k数据库查询时,我使用LEFT JOIN而不是将表添加到FROM,然后使用AND条件,这是我学习的方式。我的意思是......这不是一个真正的问题......

我通常这样做:

SELECT * FROM (`table_A`)
LEFT JOIN `table_B` ON `product`.`table_A` = `product`.`table_B`
WHERE product.table_A > 0

INSTEAD OF

SELECT * FROM (`table_A`, `table_B`)
WHERE product.table_A > 0
AND `product`.`table_A` = `product`.`table_B`

事实是,每当我在对数据库进行的任何查询中使用LEFT JOIN时,独立于表或查询类型,0,0012秒的时间变为0.5秒甚至2 -3秒。因此,第二个查询总是比使用LEFT JOIN的第一个查询更快。

发生了什么事? 可能与分配给join_buffer_size的内存或MySQL中的其他参数有关吗?

我正在使用MySQL 5.5。版。顺便说一句,如果我使用5.6,所有查询至少需要两倍的时间。

0 个答案:

没有答案