.循环执行在不使用jdbc批量操作的前提下
要进行批量操作可以 效率相对jdbc批量操作低一些
普通的循环操作代码如下:
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root",
"root"); // String sql = "update user set power=? where username=?"; String sql
= "insert into user values (?,?,?)"; //delete , insert 和update都是类似调用
executeUpdate 方法 //3 获取处理器 long start = System.currentTimeMillis(); for (int i =
0; i < 100; i++) { statement = conn.prepareStatement(sql); //注入值 数字为第几个问号? 从1开始
statement.setString(1, "赵朔"+i); statement.setString(2, "赵朔"+i); statement.setInt
(3, 3); //4获取影响行数 int result = statement.executeUpdate(); } System.out.println(
System.currentTimeMillis()-start);
这个执行效率偏低,我的计算机插入100条数据进去大约需要197ms。

下面来看一下jdbc的默认的批量操作方法。
相对于第一种批量操作,效率更高
long start = System.currentTimeMillis(); statement = conn.prepareStatement(sql)
; for (int i = 0; i < 100; i++) {// 197ms //注入值 数字为第几个问号? 从1开始 statement.
setString(1, "赵朔"+i); statement.setString(2, "赵朔"+i); statement.setInt(3, 3);
statement.addBatch();//添加到批量运算中 } //4获取影响行数 返回的是数组 int [] result = statement.
executeBatch(); System.out.println(System.currentTimeMillis()-start);

这里效率相对要高一些,插入100条数据大约花了155ms,还是可以看出效率还是差了很多的。毕竟这里只有100条数据。如果你对数据量不是很明确,你可以看一下百度的搜索引擎,我就搜一下“电脑”这个名词吧。

可以看到光结果就有一亿条,如果是很多个关键词搜搜呢,那就是上百亿,千亿一直到你难以想象的数量级。可以想想两者的效率到底差了多少。

而后再来说一下结果集的常用方法
ResultSet resultSet //获取结果集中对应类型的字段值 // resultSet.getXXX //
resultSet.getString("字段名") // resultSet.getString(index) resultSet.getInt(
columnIndex) resultSet.getDate(columnIndex) //当不知道字段类型的时候可以使用 resultSet.
getObject(columnIndex) //获取结果集中的所有信息 ResultSetMetaData rsmd = resultSet.
getMetaData(); //结果集有多少列 rsmd.getColumnCount(); //获取指定列的列明 rsmd.getColumnName(
column); //获取指定列的类型 rsmd.getColumnType(column) //获取指定列类型的名字 rsmd.
getColumnTypeName(column)

技术
©2019-2020 Toolsou All rights reserved,
多元线性回归——梯度下降法、sklearn实现java多线程之Future模式使用Qt中的置顶窗口数据迁移的套路Sklearn 成长之路(五)K-means聚类及其评价指标——轮廓系数【多线程系列】future模式oracle查看当前用户权限Qt开发 — WindowType详解Git最全基础学习!!纯干货!!!简单理解(一)Javascript中常见的异步编程模型