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

uemypmqf  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(403)

我有以下配置:
1-服务器windows 10 cpu e31220 3.1ghz ram 6go-mysql 5.6.30
2服务器ubuntu i5 1.70ghz-ram 6go-MySQL5.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服务器上的数据库是相同的。
我是两台服务器上唯一的一个用户。

i1icjdpr

i1icjdpr1#

我不确定那里出了什么问题,但你可以试着 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 关键字,以避免在服务器端执行任何影响测试结果的缓存。

相关问题