はじめに
データ移行PJTに、シーケンス採番はパフォーマンスの課題になったことがわかりました。
シーケンスのcashsizeを調整してみましたが、効果はあんまりなく、さらにselectの属性を調整して解決できましたので、メモしておきます。
動作環境
環境的には関係なし。
使い方
キャッシュを保存しないように設定する。
flushCache:
true を指定した場合、ステートメント実行時にローカルキャッシュおよび2次キャッシュがフラッシュ(=クリア)されます。select ステートメントの場合、デフォルト値は false です。
useCache:
true を指定した場合、ステートメントの結果が2次キャッシュに保存されます。select ステートメントの場合、デフォルト値は true です。
testMapper.xml
<select id="selectIdBySeq" resultType="String" flushCache="true" useCache="false">
select nextval('schema.testSequence')
</select>
参考文献
Mapper XML ファイル | flushCache userCache
以上