向数据库添加100W 条数据 性能测试
2017-11-23 13:40
537 查看
向数据库添加100W 条数据 性能测试 ;
参考的相关网站目录:
JDBC实现往MySQL插入百万级数据
https://www.cnblogs.com/fnz0/p/5713102.html
MySql 的批量操作,要加rewriteBatchedStatements参数
http://blog.csdn.net/ptzrbin/article/details/21024207
JDBC事务控制管理
http://blog.csdn.net/caomiao2006/article/details/22412755
参考的相关网站目录:
JDBC实现往MySQL插入百万级数据
https://www.cnblogs.com/fnz0/p/5713102.html
MySql 的批量操作,要加rewriteBatchedStatements参数
http://blog.csdn.net/ptzrbin/article/details/21024207
JDBC事务控制管理
http://blog.csdn.net/caomiao2006/article/details/22412755
测试代码:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Random; import java.util.UUID; public class Test { private String url = "jdbc:oracle:thin:@XXXXXX:1521:XXXX"; private String user = "XXXX"; private String password = "XXXX"; public void Test(){ Connection conn = null; PreparedStatement pstm =null; ResultSet rt = null; UUID uuid = UUID.randomUUID(); try { Class.forName("oracle.jdbc.driver.OracleDriver"); conn = DriverManager.getConnection(url, user, password); String sql = "INSERT INTO XXXXX(XX,XX,XXX) VALUES(?,?,?)"; pstm = conn.prepareStatement(sql); conn.setAutoCommit(false); Date start_time = new Date(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式 String s_start_time = df.format(start_time); System.out.println("\n************************start_time : " + s_start_time + "************************");// new Date()为获取当前系统时间 Random rand = new Random(); int a,b,c,d; for (int i = 1; i <= 1000000; i++) { pstm.setInt(1, i); pstm.setInt(2, i); /* a = rand.nextInt(10); b = rand.nextInt(10); c = rand.nextInt(10); d = rand.nextInt(10);*/ pstm.setString(3, uuid+"11111111111111111111111111111111111111111111111111" +"11111111111111111111111111111111111111111111111111111111111111111111" ); pstm.addBatch(); } pstm.executeBatch(); conn.commit(); Date end_time = new Date(); String s_end_time = df.format(end_time); // 时间差 long time_diff = end_time.getTime() - start_time.getTime(); System.out.println("Succeed!" + " It Takes times : " + time_diff + " ms ;\n\n*************************end_time : " + s_end_time + "*************************");//record /*Long endTime = System.currentTimeMillis();*/ /* System.out.println("OK,用时:" + (endTime - startTime)); */ } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e); }finally{ if(pstm!=null){ try { pstm.close(); } catch (SQLException e) { e.printStackTrace(); throw new RuntimeException(e); } } if(conn!=null){ try { conn.close(); } catch (SQLException e) { e.printStackTrace(); throw new RuntimeException(e); } } } } public static void main(String[] args) { Test test = new Test(); test.Test(); } }
相关文章推荐
- python读取数据库准备性能测试账号数据
- CYQ.Data 批量添加数据性能测试(每秒千、万)
- 大量数据情况下单线程插入和多线程(高并发)insert数据库的性能测试
- MySql模拟数据测试数据库性能
- 地磅称量系统之(37~39) 直接向数据库的数据表WtBill添加测试数据以及绑定用户控件和使用编码的方式控制dataGridView控件的每列属性和添加数据数据库的表中不存在的字段(非绑定列)
- jmeter 性能测试 JDBC Request (查询数据库获取数据库数据) 的使用
- Jmeter往数据库批量添加测试数据
- visual studio 2010 添加数据库连接 测试连接通过 报错:关键字不在数据字典中
- 转jmeter 性能测试 JDBC Request (查询数据库获取数据库数据) 的使用
- visual studio 2010 添加数据库连接 测试连接通过 报错:关键字不在数据字典中
- Android sqlite 数据库性能测试10万条数据
- CYQ.Data 批量添加数据性能测试(每秒千、万)
- CYQ.Data 批量添加数据性能测试(每秒千、万)
- 批量添加数据性能测试
- 数据库插入大量数据性能测试——批处理+事务VS普通插入
- CYQ.Data 批量添加数据性能测试(每秒千、万)
- 在单元测试里测试添加数据到数据库
- Mongodb百亿级数据添加,修改,删除,查询等性能测试【四】
- 在单元测试里测试添加数据到数据库
- 大量数据情况下单线程插入和多线程insert数据库的性能测试