运行LEFT JOIN查询的MariaDB比Mysql慢100倍

时间:2016-03-09 11:00:50

标签: mysql select left-join inner-join mariadb

我正在使用命令行中的两个终端(此处不使用phpmyadmin):
-MariaDB 10.1.9(在Windows 10上运行的第一台计算机上)
-Mysql 5.1.73(在Windows 10上运行的第二台计算机上)

我正在运行这个特定的命令:

SELECT price, volume
    FROM dates d
    LEFT JOIN (
      SELECT fr.price,fr.volume,f.code_pays,fr.flux,fr.id_date, cf.code,fr.niv
      FROM fr_logical_data_2 fr
      INNER JOIN fr_pays f ON fr.id_code_pays = f.id
      INNER JOIN fr_nc8 n ON fr.id_code_nc8 = n.id
      INNER JOIN commodities_fr cf ON n.code_nc8 = cf.nc8
      WHERE cf.code = 'code_007' AND fr.flux= 1 AND f.code_pays = 'PT' AND fr.niv = 0
    ) AS Q
    ON Q.id_date = d.id

在Mysql上,它需要: 0.1秒 在MariaDB上,它需要: 4分钟和5秒

对于下面列出的完全相同的结果(49行) result of the query

注意:这两台计算机通常具有相似的响应时间

注2:用INNER JOIN替换LEFT JOIN会在两个配置之间给出相同的时间响应(但结果当然不同)。所以我认为这可能是MariaDB解释LEFT或RIGHT JOIN的方式。

有没有人有同样的问题?

注3:我在附加 EXPLAIN SELECT...

的图片中添加了EXPLAIN SELECT ...

0 个答案:

没有答案