我在我们的一台服务器上遇到了一个奇怪的问题。我看到有延迟的 mysql 插入

+--------+----------------+-----------+------------------+----------------+------+--------------------+------------------------------------------------------------------------------------------------------+
| Id     | User           | Host      | db               | Command        | Time | State              | Info                                                                                                 |
+--------+----------------+-----------+------------------+----------------+------+--------------------+------------------------------------------------------------------------------------------------------+
| 219586 | DELAYED        | localhost | XXXX             | Delayed insert | 202  | Waiting for INSERT |                                                                                                      |

在一个很少使用的数据库上。从我从 MySQL 手册中了解到,这些插入等待其他插入以优化使用率高的数据库以批量/块写入插入。不幸的是,他们说这种方法消耗大量内存,并且在很少使用的数据库上使用时效率极低。在这种特殊情况下,该数据库每天只有 10-20 次查询,这使得延迟非常大——长达一整天。其他数据库/用户也有类似的问题,加起来似乎会加载 MySQL 的内存使用和 CPU。

有没有办法防止延迟查询被延迟?就像让 em 像常规查询一样?

提前致谢!

干杯,
威尼斯人。

最佳答案

  • 您可以 FLUSH TABLES 或“KILL 219586”强制该线程完成其工作并退出
  • 在配置文件中设置 max_delayed_threads=0 并重启实例以完全禁用 DELAYED 功能
  • 阅读文档 - 比在论坛等待 6 小时要快
  • 关于mysql - 有没有办法从 MySQL 配置中停止 MYSQL 延迟插入?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1074931/

    10-12 12:41
    查看更多