我正在使用命令行中的两个终端(此处不使用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 ...