MySQL - 插入延迟 <- 已弃用 现在怎么办?

Tol*_*era 7 mysql insert mysql-5.7 bulk-insert

我一直在看 MySQL 文档的https://dev.mysql.com/doc/refman/5.7/en/insert-delayed.html

我打算使用 INSERT DELAYED,但我发现这已被弃用。

我仍然需要这个功能来与一些处理一些非常大的数据传输的 PHP 代码兼容。我很高兴更新我的 PHP,但我现在不知道如何实现相同的功能。

既然它已被弃用,我们将如何实现与传统 INSERT DELAYED 相同的结果?

Rol*_*DBA 6

根据MySQL 5.5。文档

INSERT DELAYED 仅适用于 MyISAM、MEMORY、ARCHIVE 和 BLACKHOLE 表。对于不支持 DELAYED 的引擎,会发生错误。

你可以降级到 MySQL 5.5(当然,我是在开玩笑)。我有三个建议。请调查他们。

建议#1

您可以设置 MySQL 复制并执行以下操作

建议#2

调整 InnoDB 环境以处理更快的写入。请参阅我 4.5 年前的帖子如何在 InnoDB 引擎中使用插入延迟并为插入语句使用更少的连接?来自 infile 的 Mysql 加载卡在等待硬盘驱动器上

建议#3

自定义批量插入以使用像 mysqldump 那样一次加载固定数量行的扩展插入。