【发布时间】:2014-04-01 03:41:33
【问题描述】:
我尝试提高我的应用程序的性能。为此,我将当前语句替换为prepared-statement 以使用oracle cash。
但我的一些查询是动态的(条件标准和表格),我想知道减少执行时间的最佳解决方案。
在stackoverflow中,我找到了两个解决方案。 首先是使用 if 语句构建查询:
if(a.equals("Test")) {
whereClause.append ("COLUMN1 = ? ");
}
if(b.equals("Test2")) {
whereClause.append ("COLUMN2 = ? ");
} etc...
第二种是创建一个包含所有条件的查询,但添加“OR var is null”
where (? is null OR (COLUMN1 = ?)) AND (? is null OR (COLUMN2 = ?)) etc.
在您看来,在您知道请求可能包含 40/50 标准并且某些表格也可以是可选的情况下,最好的方法是什么。或者是否有其他解决方案。
使用的数据库是oracle,datasource和jdk 1.5。
提前感谢您的帮助。
【问题讨论】:
标签: java performance oracle jdbc prepared-statement