mysql UPDATE语句处于“查询结束状态”

ltqd579y  于 2023-02-07  发布在  Mysql
关注(0)|答案(2)|浏览(104)

我们最近升级了mysql数据库,它运行在mysql服务器5.5.8版本上。升级后,有时候我们会看到简单的升级状态需要10秒以上。当我查看进程列表时,它显示所有的状态都处于“查询结束”状态。有人知道吗?

UPDATE Accounts SET IPadd = 'xx.xx.xx.xx', updatedtime = NULL WHERE Id=xx;
qyyhg6bp

qyyhg6bp1#

我在这里检查了一些解决方案,得出了这个link
添加此行(如果存在,请编辑该行):

innodb_flush_log_at_trx_commit = 0

在/etc/my.cnf中

然而

关于佩德罗·韦内克的评论:
天真地设置innodb_flush_log_at_trx_commit可能会有危险
如果您要对它执行事务查询,则由您选择。

00jrzges

00jrzges2#

建议:
1)检查日志文件的大小
链接: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
链接:"query end" step very long at random times
警告:禁用日志刷新之前请仔细考虑。有关详细信息,请查看此处:
链接:https://dba.stackexchange.com/questions/12611/is-it-safe-to-use-innodb-flush-log-at-trx-commit-2

相关问题