Mysql:两个相同的mysql服务器之间的SQL查询执行持续时间差异

时间:2018-01-09 15:49:13

标签: mysql sql windows-server ubuntu-server

我有这些配置:
1 - 服务器Windows 10 CPU E31220 3.1GHz RAM 6Go- Mysql 5.6.30
2 - 服务器Ubuntu i5 1.70GHz - RAM 6Go - Mysql 5.6.30

此查询:

select sum(fraisprovi0_.montant_ht_provisioire) as col_0_0_ from T_FRAISPROVISION fraisprovi0_ where fraisprovi0_.num_cmmande in (select vente1_.num_commande_detail from T_VENTE vente1_ where vente1_.lot_id=57750)

在服务器1上:查询的执行持续时间:1.50秒 在服务器2上:查询的执行持续时间:0.01秒。

两台服务器之间会出现如此大的差异?

查询在本地执行,网络似乎不是一个原因 两个mysql服务器上的数据库是相同的 我是两台服务器上唯一的一个用户。

1 个答案:

答案 0 :(得分:0)

不确定那里有什么问题,但你可以尝试JOIN表通常会带来更好的结果:

SELECT SUM(fraisprovi0_.montant_ht_provisioire) as col_0_0_ 
FROM T_FRAISPROVISION fraisprovi0_ 
INNER JOIN T_VENTE vente1_
ON fraisprovi0_.num_cmmande = vente1_.num_commande_detail
AND vente1_.lot_id=57750

另外我想提一下,当你比较2个serevrs性能时,我通常会在查询中添加SQL_NO_CACHE关键字,以避免在服务器端进行任何影响测试结果的缓存。