MySQL 快速批量插入
Posted
技术标签:
【中文标题】MySQL 快速批量插入【英文标题】:MySQL Quick Bulk Inserts 【发布时间】:2009-07-08 02:01:31 【问题描述】:我们正在为客户开发“搜索报告”功能。其中一项要求是他们可以查看特定结果并查看哪些搜索词会导致该结果。
我们的search_results
表只是searches.id
到results.id
的映射。
所以我们需要对这个表进行批量插入,并且需要知道在不严重影响搜索查询性能的情况下最快的方法。
不经常需要搜索报告,因此该表可能有 > 90% 的插入。此外,插入不是立即需要的,因此延迟存储是可以接受的。
我们的应用程序建立在标准 LAMP 堆栈之上。
我们愿意接受有关存储此数据的其他方法的建议。我们研究的其他一些想法是:
使用 cron 作业将插入推迟到稍后阶段。同时将结果写入文件。 生成一个单独的 php 进程来执行插入操作。【问题讨论】:
我们使用 mysql 5.0.85 版 【参考方案1】:以下是关于如何在 MySQL 5.1 上加速 INSERT
s 的一个很好的概述:http://dev.mysql.com/doc/refman/5.1/en/insert-speed.html
包括
-
使用多个
VALUES
列表
利用INSERT DELAYED
功能
“并发插入”
【讨论】:
以上是关于MySQL 快速批量插入的主要内容,如果未能解决你的问题,请参考以下文章