我们最近升级了在mysql服务器版本5.5.8上运行的mysql数据库。升级后有时我们会看到简单的升级版本需要10秒以上。当我查看进程列表时,它显示所有这些都处于“查询结束”状态。有没有人对此有任何想法。
UPDATE Accounts SET IPadd = 'xx.xx.xx.xx', updatedtime = NULL WHERE Id=xx;
答案 0 :(得分:0)
尝试将引号添加到您在查询中使用的任何值,因为它们都是字符串。这帮我很多次了。例如:
UPDATE Accounts SET IPadd = 'xx.xx.xx.xx' WHERE Id='xx';
答案 1 :(得分:0)
我在这里检查了一些解决方案,然后我找到了link。
添加此行(如果存在则编辑它):
innodb_flush_log_at_trx_commit = 0
在/etc/my.cnf
关于Pedro Werneck评论:
天真地设置innodb_flush_log_at_trx_commit可能很危险
如果您正在对其进行交易查询,那么这是您的选择。
答案 2 :(得分:0)
建议:
1)检查日志文件的大小
LINK:Lots of "Query End" states in MySQL, all connections used in a matter of minutes
2)确保“id”具有索引
3)查看各种MySql调优和配置选项。例如:innodb_flush_log_at_trx_commit = 0
LINK:"query end" step very long at random times
警告:在禁用日志刷新之前请仔细考虑。在这里查看更多详细信息:
LINK:https://dba.stackexchange.com/questions/12611/is-it-safe-to-use-innodb-flush-log-at-trx-commit-2