我用的是jdbcTemplate,但是我用了事务,我还有必要用批量更新方法吗? 事务不就是等所有插入语句执行完了再执行提交的吗?这个是不是就相当于是批量插入了呢
我觉得这个两个概念
批量插入解少的是客户端到数据库服务器的交互次数。并且如果不是静态SQL方式的,减少编译次数。
事务是保证数据的一致性。
事务时为了保证数据一致性用的
Begintrans() //开始事务
for(i=0;i<count;i++)
{
Sql = "insert into…… " //sql插入语句
//设置并加入查询参数 类似para = new SqlParameter("@userID", SqlDbType.UniqueIdentifier);
//执行插入
}
Commit() //提交事务
两者并不冲突,批量插入必然要用的事务,两者相辅相成
事务是将大量的SQL语句一次提交处理,造成的速度快,批量插入也是将数据一次提交处理,但只有一个SQL语句
如果只有一个SQL语句的话,事务和批量插入的效果是一样的,若果有多个批量插入的语句的话,开启事务速度也会快
多次批量插入的话用事务会快,多个SQL语句用事务也会快,一个SQL语句或一个批量插入没必要用事务