我在我们的一台服务器上遇到了一个奇怪的问题。我看到有延迟的 mysql 插入
+--------+----------------+-----------+------------------+----------------+------+--------------------+------------------------------------------------------------------------------------------------------+
| Id | User | Host | db | Command | Time | State | Info |
+--------+----------------+-----------+------------------+----------------+------+--------------------+------------------------------------------------------------------------------------------------------+
| 219586 | DELAYED | localhost | XXXX | Delayed insert | 202 | Waiting for INSERT | |
关于一个很少使用的数据库。据我从 MySQL 手册中了解到,这些插入等待其他插入,以优化高度使用的数据库以批量/ block 写入插入。不幸的是,他们说这种方法会消耗大量内存,并且在很少使用的数据库上使用时效率极低。在这种特殊情况下,每天对该数据库只有 10-20 次查询,这使得延迟非常大——长达一整天。其他数据库/用户也有类似的问题,加起来它们似乎会加载 MySQL 的内存使用和 CPU。
有没有办法防止延迟查询被延迟?比如让 em 像常规查询一样运行?
提前致谢!
干杯, 威尼斯人。
最佳答案
- 您可以刷新表或“杀死 219586”以强制该线程完成其工作并退出
- 在配置文件中设置
max_delayed_threads=0
并重启实例以完全禁用 DELAYED 特性 - 阅读文档 - 比在论坛等 6 小时更快
关于mysql - 有没有办法从 MySQL 配置中停止 MYSQL 延迟插入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1074931/