有没有办法从MySQL配置中停止MYSQL延迟插入?

Ven*_*ian 4 mysql delayed-execution

我遇到了一个与我们的服务器有关的奇怪问题.我看到有延迟的mysql插入

+--------+----------------+-----------+------------------+----------------+------+--------------------+------------------------------------------------------------------------------------------------------+
| Id     | User           | Host      | db               | Command        | Time | State              | Info                                                                                                 |
+--------+----------------+-----------+------------------+----------------+------+--------------------+------------------------------------------------------------------------------------------------------+
| 219586 | DELAYED        | localhost | XXXX             | Delayed insert | 202  | Waiting for INSERT |                                                                                                      |
Run Code Online (Sandbox Code Playgroud)

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

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

提前致谢!

干杯,威尼斯人.

noo*_*nex 5

  1. 您可以使用FLUSH TABLES或'KILL 219586'来强制该线程完成其工作并退出
  2. max_delayed_threads=0在配置文件中设置并重新启动实例以完全禁用DELAYED功能
  3. 阅读文档 - 它会比在论坛中等待6小时更快

  • @noonex - 6h等待答案通常不如试图破译MySql文档那么痛苦,特别是如果你在Windows上运行MySql,因为差异微妙到足以导致头痛=) (5认同)