大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> JSP专区 -> 批量处理JDBC语句提高处理速度

批量处理JDBC语句提高处理速度

时间: 2021-07-31 作者:daque

有功夫jdbc运转得不够快,这使得有些步调员运用数据库关系的保存进程。动作一个代替计划,不妨试试运用statement 的批量处置个性看看是否同声实行一切的sql以普及速率。 保存进程的最大略的情势即是包括一系列sql语句的进程,将那些语句放在一道便于在同一个场合处置也不妨普及速率。statement 类不妨包括一系列sql语句,所以承诺在同一个数据库工作实行一切的那些语句而不是实行对数据库的一系列挪用。 运用批量处置功效波及底下的两个本领: · addbatch(string) 本领 · executebatch本领 即使你正在运用statement 那么addbatch 本领不妨接收一个常常的sql语句,大概即使你在运用preparedstatement ,那么也不妨什么都不向它减少。executebatch 本领实行那些sql语句并归来一个int值的数组,这个数组包括每个语句感化的数据的行数。即使将一个select语句大概其余归来一个resultset的sql语句放入批量处置中就会引导一个sqlexception特殊。 对于java.sql.statement 的大略典型不妨是: statement stmt = conn.createstatement();stmt.insert("delete from users");stmt.insert("insert into users values("rod", 37, "circle")");stmt.insert("insert into users values("jane", 33, "triangle")");stmt.insert("insert into users values("freddy", 29, "square")");int[] counts = stmt.executebatch(); preparedstatement 有些各别,它只能处置一局部sql语法,然而不妨有很多参数,所以重写上头的典型的一局部就不妨获得底下的截止: // 提防这边没有delete语句preparedstatement stmt = conn.preparestatement("insert into users values(?,?,?)");user[ ] users = ...;for(int i=0; i<users.length; i++) {stmt.setint(1, users[i].getname());stmt.setint(2, users[i].getage());stmt.setint(3, users[i].getshape());stmt.addbatch( );}int[ ] counts = stmt.executebatch(); 即使你不领会你的语句要运转几何次,那么这是一个很好的处置sql代码的本领。在不运用批量处置的情景下,即使增添50个用户,那么本能就有感化,即使某部分写了一个剧本增添一万个用户,步调大概变得很蹩脚。增添批处置功效就不妨扶助普及本能,并且在反面的那种情景下代码的可读性也更好。 

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.