有下面两个例子
1,
protected static StringBuffer getSQL_MYDATA(){
StringBuffer sql = new StringBuffer();
sql.append("INSERT INTO MYDATA ");
sql.append("SELECT ");
...// 很长
return sql;
}private void insertMYDATA() throws Exception {
StringBuffer sql = getSQL_MYDATA();
// 数据库操作
}2,
private void insertMYDATA() throws Exception {
StringBuffer sql = new StringBuffer();
sql.append("INSERT INTO MYDATA ");
sql.append("SELECT ");
...
// 很长
// 数据库操作
}请问,1,2哪个性能更好些,哪种写法更好?
1,
protected static StringBuffer getSQL_MYDATA(){
StringBuffer sql = new StringBuffer();
sql.append("INSERT INTO MYDATA ");
sql.append("SELECT ");
...// 很长
return sql;
}private void insertMYDATA() throws Exception {
StringBuffer sql = getSQL_MYDATA();
// 数据库操作
}2,
private void insertMYDATA() throws Exception {
StringBuffer sql = new StringBuffer();
sql.append("INSERT INTO MYDATA ");
sql.append("SELECT ");
...
// 很长
// 数据库操作
}请问,1,2哪个性能更好些,哪种写法更好?
3,
protected static String sql_MYDATA=
"INSERT INTO MYDATA "+
"SELECT "+
...// 很长
;private void insertMYDATA() throws Exception {
String sql = sql_MYDATA;
// 数据库操作
}
protected static String sql_MYDATA;
static{
StringBuffer sql = new StringBuffer();
sql.append("INSERT INTO MYDATA ");
sql.append("SELECT ");
sql_MYDATA = sql.toString();
}
byronly() ( ) 信誉:100 Blog 加为好友 2007-6-11 17:31:50 得分: 0
楼上的说说理由,3不是被做成静态的变量了吗
=================================================因为字符串直接相加要比StringBuffer的append性能差