【发布时间】:2013-03-16 17:05:34
【问题描述】:
我在 csv 文件中有一些数据。数据量巨大(约 65GB)。我想将它们全部插入数据库中,以便以后可以查询它们。
csv 文件本身非常简单,它只有 5 列。所以基本上所有的数据都会被插入到一个表中。
现在我尝试将这些数据插入到 mysql 数据库中,但花费的时间非常长。我花了将近 6 个小时才插入其中的 1.3GB 数据(我的处理器是 core i5 2.9 GHz,RAM 是 4GB DDR3)。
此加载需要很快完成,以便所有数据插入应在 4/5 天内完成。
如果对数据的查询速度可以接受,那么在这种情况下,哪个数据库会显示出最佳性能?
另外,我还应该遵循其他一些步骤/做法吗?
【问题讨论】:
-
你是如何插入数据的?每条记录一个插入语句或批处理方法;用一个插入语句插入多条记录?
-
@jurgenreza 我正在使用 LOAD DATA INFILE 语法以批处理方式插入数据
-
Mysql网站声称
LOAD DATA INFILE比insert快20倍!这个链接有一些技巧,比如避免索引更新和一致性检查。如果您还没有,请查看:dev.mysql.com/doc/refman/5.5/en/insert-speed.html -
数据库是否在 SSD 上?如果没有,您可能想要一个,它应该会大大加快速度。
标签: mysql database performance bulkinsert database-performance