我有这些配置:
1 - 服务器视窗 10 CPU E31220 3.1GHz 内存 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 秒。
是什么会导致 2 台服务器之间的差异如此之大?
查询在本地执行,网络似乎不是原因。
两个 mysql 服务器上的数据库是相同的。
我是两台服务器上唯一的用户。
不确定那里出了什么问题,但您可以尝试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
关键字,以避免在服务器端进行任何影响测试结果的缓存。