私はJavaのORMフレームワークとしてiBatisを使用しています。 私はselect文iBatis select文にfetchSizeを設定する方法
<select id="getList" resultMap="correctMap">
SELECT *
FROM SOME_TABLE
</select>
を持っていると私は方法queryForList使用しています:
List<MappedObject> list = getSqlMapClientTemplate().queryForList("getList");
をしかし、それはデータの大きな量を取得し、このクエリのパフォーマンスはかなり遅いです。
iBatisがデフォルトのフェッチサイズ(たとえばJDBSのように10)を持っているというこの問題について私が想定しているのは、それほど遅い理由です。だから私はより大きなフェッチサイズ(例えば1000)を設定したいと思います。私はどのようにそうすることができますか?
私は間違った方法で探していますか?
注:すべてのデータが必要なので、queryForList
の方法での最大結果を設定する方法は適切ではありません。
List queryForList(String id,
Object parameterObject,
int skip,
int max)
フェッチサイズをグローバルコンフィグレーションに設定することはできますか? – nkukhar
私は知りません。それを通過するすべての選択クエリでこのプロパティを設定できるPluginインターセプタ(MyBatis 3ユーザーマニュアル17ページ)を実装することができます。あなたのバージョンには存在しないかもしれません。 –
fetchSizeの値を動的に設定できますか? –