使用JDBC插入大量資料的效能測試

2021-08-30 01:19:02 字數 1280 閱讀 3619

使用jdbc向資料庫插入100000條記錄,分別使用statement,preparedstatement,及preparedstatement+批處理3種方式進行測試:

//1.

使用statement插入100000條記錄

public void exec(connection conn)

long endtime = system.currenttimemillis();

system.out.println("st

:"+(endtime-begintime)/1000+"秒");//計算時間

st.close();

conn.close();

} catch (sqlexception e)    }

//2.

使用preparedstatement物件

public void exec2(connection conn)

conn.commit();

long endtime = system.currenttimemillis();

system.out.println("pst:"+(endtime-begintime)/1000+"

秒");//計算時間

pst.close();

conn.close();

} catch (sqlexception e) }

//3.

使用preparedstatement + 批處理

public void exec3(connection conn) }

long endtime = system.currenttimemillis();

system.out.println("pst+batch

:"+(endtime-begintime)/1000+"秒");

pst.close();

conn.close();

} catch (sqlexception e) }

在oracle 10g中測試,結果:

1.使用statement耗時142秒;

2.使用preparedstatement耗時56秒;

3.使用preparedstatement + 批處理耗時:

a.50

條插入一次,耗時5秒;

b.100

條插入一次,耗時2秒;

c.1000

條以上插入一次,耗時1秒;

通過以上可以得出結論,在使用jdbc大批量插入資料時,明顯使用第三種方式(preparedstatement + 批處理)效能更優。

使用JDBC插入大量資料的效能測試

使用jdbc向資料庫插入100000條記錄,分別使用statement,preparedstatement,及preparedstatement 批處理3種方式進行測試 1 使用statement插入100000條記錄 public void exec connection conn catch s...

使用JDBC插入大量資料的效能測試

使用jdbc向資料庫插入100000條記錄,分別使用statement,preparedstatement,及preparedstatement 批處理3種方式進行測試 1 使用statement插入100000條記錄 public void exec connection conn catch s...

JDBC 批處理 插入大量資料

使用jdbc向資料庫插入100000條記錄,分別使用statement,preparedstatement,及preparedstatement 批處理3種方式進行測試 1 使用statement插入100000條記錄 public void exec connection conn catch s...