Java JDBC批量插入和单条插入执行耗时

本文探讨了Java使用JDBC进行数据库操作时,单条插入与批量插入的性能差异。通过实测,单条插入100w条数据耗时约30秒,而批量插入相同数量数据只需4秒。文章提醒批量插入时应注意SQL长度限制,建议采取分批操作策略。
摘要由CSDN通过智能技术生成

一)单条插入

原理:用一个for循环往数据库表中插入10w条数据,循环一次提交一次事务,观察单条插入执行时间。

源码:

package com.oysept.test;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import com.oysept.utils.OracleJDBC;

public class TestInsert {

    public static void main(String[] args) {
        executeInsert();
    }

    public static void executeInsert() {
        Long begin = System.currentTimeMillis();
		
        String sql = "INSERT INTO tab_test values(?,?)"; // 新增数据
        Connection conn = null;
        PreparedStatement ps = null;
        try {
            conn = OracleJDBC.getConnection();
            ps = conn.prepareStatement(sql);
            for (int i = 1; i <= 1000000; i++) {
                ps.setInt(1, i);
                ps.setString(2, "第"+i+"行数据")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值