数据库插入上百万条数据如何快一点

xurishanghai 发布于 2013/12/09 14:18
阅读 9K+
收藏 4
现在要往数据库中插入上百万条数据,如何提高插入数据库的速度。
加载中
0
宏哥
13123123
13123123
怎么搞 都是批量 不解释
0
蔡小峰
蔡小峰

我用过的办法 select出来 临时表那样批量插。 不用一条一条的。

 

0
NealFeng
NealFeng
转成能直接可以导入的格式,然后一次导入
0
魔力猫
魔力猫
根本没写清楚真正的要求,没法说的。
javadeveloper
javadeveloper
回复 @xurishanghai : 一般使用类似load命令直接load一个待导入的数据文件就行,速度飞快。百万计也不要多久啊!
xurishanghai
xurishanghai
就是现在要生成一批卡(类似于手机充值卡的),一下子生成1百万张,循环往里面差耗时比较长,有没有什么方法可以插入的快点。数据库要兼容MySql和SqlServer。
0
cocos2dchina
cocos2dchina

不知道你是什么数据库,假如是mysql+phpmyadmin 可以直接导入进去,也可以自己写一段脚步处理。 

cocos2dchina
cocos2dchina
回复 @自主创新 : 那么大的数据,从哪里来到哪里去????
自主创新
自主创新
你想的太多了吧,php本身对数据大小有限制,数据长度也有限制
0
梅开源
梅开源

直接插下看

高配服务器,mysql啥的插一百万条也不要好久

如果用sqlite3,代码写正确,台式机也不要好久

梅开源
梅开源
回复 @xurishanghai : http://database.51cto.com/art/201309/411050.htm 看看
xurishanghai
xurishanghai
难道台式机太破,20万就得两个小时,有点长
0
cisiqo
cisiqo

前段时间网上爆出的2000w数据,不要20分钟就全部导入mysql中了。不过数据格式是csv的。用命令很简单。

cisiqo
cisiqo
@xurishanghai 一个文件300M,数据大概200w左右
xurishanghai
xurishanghai
那csv文件也挺大的吧,我是一条语句一条的插的,挺慢的。
0
jse7en
jse7en

有两种方案
  1. 你可以在循环里一次拼上几段insert,一次性提交;(可以拼上几十个,这样减少连数据库的交互)
  2. 使用数据库底层的类似load的工具,大多数数据库都有提供工具,直接导出csv文件,这种方法是速度最快的

0
_白开水_
_白开水_

preparedStatement.deaddBatch() 可以试一下(Java),1000条 preparedStatement.executeBatch();preparedStatement.clearBatch();我之前是这么解决的,把600万条的txt文件记录导入数据库. 就提示到这了

0
返回顶部
顶部