【发布时间】:2013-01-19 11:19:40
【问题描述】:
我正在尝试创建一个 Web 应用程序,主要目标是将请求数据插入数据库。
这是我的问题,一个请求本身包含 10,000 到 1,00,000 个数据集的信息 (每个数据集需要单独作为一行插入到数据库中)
我可能会在此应用程序上同时收到多个请求,因此我有必要快速插入。
我正在使用 MySQL 数据库,哪种方法更适合我,LOAD DATA 或 BATCH INSERT 还是有比这两种更好的方法?
您的应用程序将如何检索此信息? - 将有另一个基于后台线程的Java应用程序将从该表中选择记录并逐个处理并删除它们。
您能否将您的请求(批次)排队,以便您的系统一次处理一批? - 目前我们正在考虑直接将其插入数据库,但是如果这种方法不够可行,我们可能会考虑对数据进行排队。
信息的检索是否需要与新数据的插入同时进行? - 是的,我们保持同步。
Ollie Jones,这里是您问题的某些答案
谢谢!
【问题讨论】:
-
您的性能要求是什么? (“快速”不是一个可用的性能规范,当您每批处理一个兆行时。)您可以将您的请求(批次)排队,以便您的系统一次处理一批吗?您的应用程序将如何检索此信息?信息的检索是否需要与新数据的插入同时进行?你的表定义是什么?
-
@Ollie Jones,我已经编辑了我的问题。请检查谢谢!
标签: mysql load-data-infile batch-insert