Googlebot Asked: 2021-10-15 05:46:34 +0800 CST2021-10-15 05:46:34 +0800 CST 2021-10-15 05:46:34 +0800 CST 监控 MySQL/innoDB 后处理 772 我做INSERT INTO SELECT了一张巨大的桌子(1TB)。该过程完成后,MySQL/InnoDB 仍会进行数小时的后处理(创建 更新的二级索引等)。 由于这些是内部流程,它们不会出现在SHOW PROCESSLISTor中SHOW ENGINE INNODB STATUS \G。 我只能通过 I/O 活动来检查进程。 有什么方法可以正确监控正在进行的流程? mysql innodb 1 个回答 Voted Best Answer Bill Karwin 2021-10-15T16:27:57+08:002021-10-15T16:27:57+08:00 它可能将更改缓冲区合并到索引页中。该手册页显示了一些监视更改缓冲区大小及其进度的方法。 更改缓冲区合并导致的延迟 I/O 是正常的。 您可以在执行大 INSERT 之前禁用更改缓冲区(请参阅链接的手册页),但随后您的 INSERT 将花费数小时,因为所有索引写入都将是直写的。
它可能将更改缓冲区合并到索引页中。该手册页显示了一些监视更改缓冲区大小及其进度的方法。
更改缓冲区合并导致的延迟 I/O 是正常的。
您可以在执行大 INSERT 之前禁用更改缓冲区(请参阅链接的手册页),但随后您的 INSERT 将花费数小时,因为所有索引写入都将是直写的。