今天有个小伙子,问我的,总结一下
怎么进行SQL批处理?就是我想同时执行多条SQL语句
并且不能开启多个连接?
他的问题应该是,一个连接,可以执行多条SQL语句吗?
是可以的,一个连接,可以执行多条SQL语句,但是不能同时执行,只能一条一条执行。可能正因为如此(原因之一),才有了数据库连接池的概念
用完的连接放回数据库,需要的时候,再拿出来用。这个取出,返回,再取出的过程,并没有创建物理连接,只是创建了逻辑连接。
关于SQL语句的执行原理
第一步:客户端把语句发给服务器执行
第二步:语句解析
第三步:语句执行
第四步:提取数据
关于SQL批处理
jdbc的批处理机制,主要涉及到statement或preparedStatements
1.通过对象方法addBatch,将要执行的sql语句存储起来
2.通过对象方法executeBatch,执行SQL语句
mysql默认批处理是关闭的,所以还需要去打开mysql的批处理:rewriteBatchedStatements=true。
需要将该参数添加到mysql的url地址中。
批处理将建立连接的成本花费讲到最低
发送的sql语句,到服务器是网络传输,同时降低了网络传输的成本
还有很多不懂的。以后再补充