如何在后台模式下将数据插入MYSQL DB?
数据量巨大,约2000万行
答案1
我假设“后台模式”的意思是您希望降低 INSERT 语句的优先级,以在提供数据库时排除并发和性能问题。
在这种情况下,请考虑使用插入延迟语句用于插入行。来自 MySQL 文档:
INSERT 语句的 DELAYED 选项是 MySQL 对标准 SQL 的扩展,如果您的客户端无法或不需要等待 INSERT 完成,则该选项非常有用。当您使用 MySQL 进行日志记录并且定期运行需要很长时间才能完成的 SELECT 和 UPDATE 语句时,这种情况很常见。
当客户端使用 INSERT DELAYED 时,它会立即从服务器获得同意,并且当表未被任何其他线程使用时,该行将排队等待插入。
使用 INSERT DELAYED 的另一个主要好处是,来自多个客户端的插入被捆绑在一起并写入一个块中。这比执行许多单独的插入要快得多。
插入大量数据时,请考虑暂时禁用二进制日志以减轻 I/O 子系统的压力。