xar*_*ion 5 mysql configuration
我们试图在MySQL的大型日志表上获得一些统计信息.某些选择查询需要很长时间才能完成并导致异常;
引起:java.sql.SQLException:超出锁定等待超时; 尝试重新启动事务
这导致我们的整个应用程序停止提供相同的错误.经过一些研究,我们决定更改MySQL服务器配置的'innodb_lock_wait_timeout'变量.
但是,这种配置改变的缺点是什么?
随着负载的增加,您将需要更长的超时。缺点是存在不断增加其他客户端查询的最大查询时间的风险。您需要研究一下这一点,我建议使用 Linux 工具mytop来查找长时间运行的查询,然后对它们进行解释以查看锁的使用方式。重组您的数据和/或查询以减少锁定。
最后,MariaDB(MySQL 的一个分支)非常注重减少操作所需的锁数量,因此转向这一点可能也会对您有所帮助。