标签:mysql-5-7 mysql insert bulk-insert
我刚看了MySQL doc的https://dev.mysql.com/doc/refman/5.7/en/insert-delayed.html
我打算使用INSERT DELAYED,但我发现这已经被弃用了.
我仍然需要这个功能来兼容处理一些非常大的数据传输的一些PHP代码.我很高兴更新我的PHP,但我不知道如何实现相同的功能.
现在它已被弃用,我们如何实现与传统INSERT DELAYED相同的结果?
解决方法:
INSERT DELAYED works only with MyISAM, MEMORY, ARCHIVE, and BLACKHOLE tables. For engines that do not support DELAYED, an error occurs.
你可以降级到MySQL 5.5(当然,我在开玩笑).我有三个建议.请仔细研究一下.
建议#1
您可以设置MySQL Replication并执行以下操作
>批量插入主服务器上的表,其存储引擎是BLACKHOLE.
> Slave上的同一个表是InnoDB.在Slave上执行SELECT
>查看我在How to do something like UPDATE DELAYED in MySQL年的3.5岁
建议#2
调整InnoDB环境以处理更快的写入.请参阅我在4.5岁的帖子How to use insert delay with the InnoDB engine and use less connection for insert statements?和Mysql load from infile stuck waiting on hard drive
建议#3
自定义批量插入以使用扩展插入,一次加载固定数量的行,就像mysqldump一样.
标签:mysql-5-7,mysql,insert,bulk-insert 来源: https://codeday.me/bug/20190805/1592355.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。