我在Java中使用iBatis作为ORM框架.我有一个选择声明
<select id="getList" resultMap="correctMap">
SELECT *
FROM SOME_TABLE
</select>
Run Code Online (Sandbox Code Playgroud)
我正在使用queryForList方法:
List<MappedObject> list = getSqlMapClientTemplate().queryForList("getList");
Run Code Online (Sandbox Code Playgroud)
但是它检索了大量数据,并且此查询的性能非常慢.
我对这个问题的假设是iBatis具有默认的提取大小(例如在JDBS中是10),所以这就是它如此慢的原因.所以我想设置更大的提取大小(例如1000).我怎么能这样做?
还是我看错了?
注意:我需要所有数据,因此设置queryForList方法中的最大结果对我来说不是一个合适的解决方案.
List queryForList(String id,
Object parameterObject,
int skip,
int max)
Run Code Online (Sandbox Code Playgroud) Java是否具有Oracle功能的一些模拟MONTHS_BETWEEN?
为什么
long t = System.currentTimeMillis();
int size = 3333333;
int[][][] arr = new int[size][6][2];
// int[][][] arr= new int[2][6][size];
pr(System.currentTimeMillis() - t );
Run Code Online (Sandbox Code Playgroud)
打印5000 ms
但是
long t = System.currentTimeMillis();
int size = 3333333;
// int[][][] arr = new int[size][6][2];
int[][][] arr= new int[2][6][size];
pr(System.currentTimeMillis() - t );
Run Code Online (Sandbox Code Playgroud)
版画 44 ms
第二种解决方案115次更快
我遇到了一些测试,包括这样的代码:
if (this != null) {
do something
}
Run Code Online (Sandbox Code Playgroud)
这是if条款有用吗?是否有一个我没有得到的目的使这有用?