我刚看了一下MySQL医生的https://dev.mysql.com/doc/refman/5.7/en/insert-delayed.html
我本打算使用INSERT延迟,但我发现这已经被否决了。
为了与处理一些非常大的数据传输的PHP代码兼容,我仍然需要这个功能。我很乐意更新我的PHP,但我现在不知道如何实现相同的功能。
既然传统的插入已经过时,那么我们如何实现与传统插入相同的结果呢?
发布于 2017-01-06 11:55:23
插入延迟只适用于MyISAM、内存、归档和黑洞表。对于不支持延迟的引擎,会发生错误。
你可以降级到MySQL 5.5 (当然,我是开玩笑的)。我有三个建议。请查查他们。
您可以设置MySQL复制并执行以下操作
调优InnoDB环境以处理更快的写入。请看我4.5岁的帖子如何在InnoDB引擎中使用插入延迟并对插入语句使用更少的连接?和Mysql从婴儿加载卡在硬盘上等待
自定义大容量插入以使用扩展插入,像mysqldump那样一次加载固定数量的行。
发布于 2017-01-06 11:11:50
我认为你的问题的意思是,你需要推迟工作到一定的时间之后。
在这种情况下,我将使用队列,并将队列作业推迟到所需的时间。
以https://laravel.com/docs/5.3/queues#delayed-dispatching为例
虽然从“在表不被任何其他线程使用时排队插入”的文档中无法像通过此方法那样实现此功能,但如果需要,则需要在作业中实现此功能。
https://dba.stackexchange.com/questions/160168
复制相似问题