提问人:guillim 提问时间:3/9/2016 最后编辑:guillim 更新时间:2/15/2019 访问量:2148
MariaDB 运行 LEFT JOIN 查询的速度比 Mysql 慢 100 倍
MariaDB running a LEFT JOIN query 100 times slower than Mysql
问:
我正在两个终端上工作,仅在命令行中(这里不使用 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 行),下面列出了查询结果
注意:两台计算机通常具有相似的响应时间
注意 2:将 LEFT JOIN 替换为 INNER JOIN 会在两种配置之间给出相同的时间响应(但结果当然是不同的)。所以我认为这可能是MariaDB解释LEFT或RIGHT JOIN的方式。
有人有同样的问题吗?
注意3:我添加了EXPLAIN SELECT...在附图中 解释选择...
答: 暂无答案
评论
EXPLAIN SELECT ...