java 一次最多insert多少条数据_万J,一次Insert/Update数十万条记录,有什么办法提高效率么?...

我现在没有环境了,搞了个 pg 测试:

create table t(id serial primary key, x float, y float)

insert 100000 rows exhaust 8552ms

可见,每秒能到 1.1w 多

可能之前确实记错了,当时应该是 4w/15s  也可能 pg ora 环境不同或其它原因 其实

我印象非常深刻,确实是 4w per s 。。。。

但是不管怎么说 1w/1s 肯定能到的。当然这个跟数据尺寸也有关系。但是数据库绝对

比楼主说的快的多。

主要代码:

Random rnd = new SecureRandom();

long now = System.currentTimeMillis();

Connection conn = ds.getConnection();

conn.setAutoCommit(false);

PreparedStatement ps = conn.prepareStatement("insert into

t(x, y) values(?, ?)");

for (int i = 0; i 

ps.setDouble(1, rnd.nextGaussian());

ps.setDouble(2, rnd.nextGaussian());

ps.addBatch();

}

ps.executeBatch();

conn.commit();

long exhaust = System.currentTimeMillis() - now;

System.out.println("insert 100000 rows exhaust " + exhaust +

"ms");

慢,

审计,log日志等功能,

jdbc确实是个很高效的接口

【 在 sharong (侯德柱) 的大作中提到: 】

: 不可能,我以前也拍脑袋以为oracle可以一秒上万条数据,问dba导个数据怎么这么

: dba还详细和我解释了硬盘上的数据block点的存取机制,主键索引b-tree生成机制,

: 我后来自己写了个最简单的jdbc测试程序,确实1秒就1500左右是上限了,不得不说

: ...................

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值