我们刚刚将数据库服务器迁移到新计算机上,并从5.0升级到mysql 5.6。我们有一个保持同步的救援服务器,仍然在mysql 5.0,所有表都是MyISAM,我在新服务器上的速度减慢了。我在两台服务器上对所有相关表运行检查,分析,修复,优化,新服务器在旧服务器的0.2秒内运行以下查询大约需要20秒。
SELECT DISTINCT `personBaseData`.`PersonID`,
`personBaseData`.`Forename`,
`personBaseData`.`Nickname`,
`personBaseData`.`Surname`,
COUNT(*) AS Count
FROM `personBaseData`
LEFT JOIN `sessionAttendance`
ON (( `personBaseData`.`PersonID` =
`sessionAttendance`.`ContactID` )
AND ( `sessionAttendance`.`ContactType` = 'Individual' ) )
JOIN `sessionBaseData`
ON (( `sessionAttendance`.`SessionID` = `sessionBaseData`.`SessionID` ))
JOIN `sessionGroupBaseData`
ON (( `sessionBaseData`.`SessionGroupID` = `sessionGroupBaseData`.`SessionGroupID` ))
WHERE `personBaseData`.`PersonID` IN (SELECT `PersonID`
FROM `personFlexData`
WHERE ( `flexName` = 'Organisation_P_27'
AND `flexValue` = 'HCCT' ))
AND `sessionBaseData`.`StartDate` > '2013-08-15'
AND `sessionAttendance`.`Attended` = '1'
AND `sessionGroupBaseData`.`Title` = 'Open Access (HCCT)'
AND `personBaseData`.`Type` & '1'
GROUP BY `personBaseData`.`PersonID`
ORDER BY Count DESC,
`personBaseData`.`Forename` ASC,
`personBaseData`.`Nickname` ASC,
`personBaseData`.`Surname` ASC ;
在两台服务器上运行有关此sql的说明,请返回
新的5.6服务器
救助5.0服务器
有什么明显的我可以追求,看起来像是在浏览变量,寻找任何明显的东西,但我不确定主要的踢球者可能是什么,但显然我想做主要的选择不是简单的,只有一个大的行数。
提前致谢
答案 0 :(得分:2)
在5.5的发布/审核过程中,我们检查了5.0 vs 5.5 vs 5.6中的每个设置,尝试创建一个超集。
我们在5.5到5.6中确定了 optimizer_switch 设置的大变化,因此在我们回滚之前,让我们将额外设置为关闭。
这很有用。
进一步检查时,关键设置为半连接。将其设置为关闭,使5.6快速为5.5
我真的希望这有助于某人 干杯
答案 1 :(得分:1)
好的,似乎5.5以5.0的速度运行查询,所以我们回滚到5.5 这是一个非常复杂的问题,我发现这些资源很有帮助。
与我们相同的问题 Slow query after upgrade mysql from 5.5 to 5.6
到处用STRAIGHT_JOIN替换连接?
Percona 5.6 InnoDB issue not using indexes correctly
建议5.6优于5.5
MySQL long running query in 5.5 is very fast in 5.6
关于直接连接的更多信息 When to use STRAIGHT_JOIN with MySQL
来自楼层的更多5.6配置建议
https://www.facebook.com/notes/mysql-at-facebook/my-mysql-is-faster-than-your-mysql/10151250402570933
http://dev.mysql.com/doc/refman/5.6/en/performance-schema-configuration.html
http://www.percona.com/live/mysql-conference-2013/sites/default/files/slides/mysql-56-experiences-bugs-solutions-50mins.pdf
关闭MRR
可能值得阅读本页的优化器部分
http://dev.mysql.com/doc/refman/5.6/en/mysql-nutshell.html
并且所有点都发布回5.0
http://www.mysqlperformanceblog.com/2013/02/18/is-mysql-5-6-slower-than-mysql-5-5/
http://dev.mysql.com/doc/refman/5.5/en/upgrading.html
哇
http://mysqlentomologist.blogspot.co.uk/2013/06/fun-with-bugs-11-top-10-optimizer.html
干杯