我有 2 台规格几乎相同的服务器。假设服务器 A 和 B。服务器 A 每天都在运行一些查询(MySQL 4),我想将一些查询和数据库移动到服务器 B。所以我在服务器 B 上设置 MySQL 5 并尝试运行相同的查询,但它的响应时间太慢了。
Server A : MySQL 4, MyISAM, 60s response time
Server B : MySQL 5, MyISAM, 4222s response time
我尝试按照将服务器 A 设置为 B,但某些设置不同导致版本不同。我复制了一个带有索引、引擎的整个数据库,但性能仍然有很大不同。
查询这样的事情
select field1, fieldEtc
from table1
left outer join table2 on field1=field2
inner join table3 on field3=field4
inner join table4 on field5=field6 and field15=field16
inner join table5 on field7=field8
inner join table6 on field9=field10
inner join table7 on field11=field12
where field13 >=0
union all
select field1, fieldEtc
from table8
left outer join table2 on field1=field2
inner join table3 on field3=field4
inner join table4 on field5=field6 and field15=field16
inner join table5 on field7=field8
inner join table6 on field9=field10
inner join table7 on field11=field12
where field14 >=0
任何建议我需要更改哪个设置?
更新 :
EXPLAIN
当我在查询前添加时显示此结果
服务器 A
服务器 B