引言:
在拼SQL语句时,都知道尽量用StringBuffer来做拼接。但仍有人为了排版好看,在.appand()内部使用str+str的方式编写。
可以看到下面列的SQL写法1(建议别这写):
String sql = "select " + resultColumn.trim() + " from "
+ ConstUtil.OWNER + "Table1" + "where CompanyCode "
+ "in(select CompanyCode" + " from " + ConstUtil.OWNER
+ ".secumain " + "where secucode= " + code;
还有这样的写法2(到底如何):
String sql = ""
+ "select * from dbo.Table1 "
+ " where CompanyCode in("
+ " select CompanyCode from dbo.secumain "
+ " where secucode='595804040'"
+ " )";
这些语句到底对性能(速度)影响有多大。
正文:
写法2这样的片断,中间没有穿插变量,因此JVM可能会存在一个“优化”的行为——即一次尽可能的读入最长的String,然后才存放入“数据区-唯一表”。也就是说,格式化写与连写,生成字节码运行时可能没什么本质区别。对此笔者做了个测试。测试源代码可以在文尾的附件中下载到。
测试在此:>>>(此处略去关于略去多少字的说明)<<<
经过测试
结果:
10万次连接时,常量,耗时0毫秒;常量连接间穿插变量,耗时547毫秒。
证明:
引言中的“写法2”拼接方式是可行的,不影响拼接速度,优化机制是存在的。
分享到:
相关推荐
动态拼接sql语句工具类,拼接where后面语句 配合原生jdbc仿动态sql注入 if (ObjectUtil.isNotEmpty(maxLat)&&ObjectUtil.isNotEmpty(minLat)){ sqlParamList.add(new SqlParam("lat",minLat, SqlOpEnum.GE)); ...
使用Java自定义注解来拼接SQL查询语句,方便使用。
sql语句拼接+游标技术sql语句拼接+游标技术sql语句拼接+游标技术sql语句拼接+游标技术sql语句拼接+游标技术sql语句拼接+游标技术sql语句拼接+游标技术sql语句拼接+游标技术
config/sql.txt 中指定需要定时执行的sql语句,使用<<-sql->>分隔各语句。如: update deviceInfo set ps=1 where status=1 <<-sql->> delete from deviceInfo set ps=1 where status=0 <<-sql->> update deviceInfo...
但是,如果在SQL语句的where子句中写的SQL代码不合理,就会造成优化器删去索引而使用全表扫描,一 般就这种SQL语句就是所谓的劣质SQL语句。在编写SQL语句时我们应清楚优化器根据何种原则来使 用索引,这有助于写出高...
写java程序时用来拼装sql语句时使用的小工具,在.net 4.0环境下运行。 跟前一版本比较,增加了前缀和空格位置的自定义,并增加了一个配置文件,保存自定义项 例如将 select a, b, c from abc where a like('3') ...
主要介绍了java执行SQL语句实现查询的通用方法详解,具有一定借鉴价值,需要的朋友可以参考下。
在项目开发的过程中难免需要打印一下自己拼写的SQL语句,尤其是很长的SQL语句,看起来很不舒服,使用该jar包,打印出来的SQL语句已经被格式化,结构很清晰、简洁,更方便我们调试及分析
Oracle Sql语句转换成Mysql Sql语句java 源码,非常简单,只要给定源oracle sql语句地址,和生成目标文件地址运行即可。
网上书店 java sql 网上书店 java sql 网上书店 java sql 网上书店 java sql
项目中已使用的一个比较简单的SQL语句查询字段解析工具类
java操作mysql数据库,不写sql语句版
SQL语句拼接
利用该类可以快速的拼写sql语句,加快我们使用struts开发速度.能够快速的同时更新多条数据,以及多个条件的查询.使用方法请进我的 baidu 空间查看.地址为:http://hi.baidu.com/yanzuoguang
JAVA的SQL帮助类,帮助使用jdbc快速使用SQL语句更新,删除,查询数据,只需要专注于SQL语句的执行,而不需要写数据库的连接与释放
MSSQL 性能监控 SQL语句 性能测试
近做程序,时不时需要自己去手动将sql语句直接写入到Java代码中,写入sql语句时,需要注意几个小问题。 先看我之前写的几句简单的sql语句,自以为没有问题,但是编译直接报错。 String str = insert into XXX...
写java程序时用来拼装sql语句时使用的小工具,在.net 4.0环境下运行。例如将 select a, b, c from abc where a like('3') 转换为: sql.append("select "); sql.append(" a, "); sql.append(" b, "); sql.append...
SQL语句格式化工具,可语法加亮显示,可将大段SQL拼成程序代码,免去手工拼接之苦。也可将代码还原成SQL,便于在数据库IDE中查询调试。操作简单,省去不少拼接的时间,推荐使用。