2017-11-18 61 views
1

私はデータベースから数千ものレコードを取得するためのクエリを書くことにかかわる問題に取り組んでいます。私が使用するクエリには、WHERE条件に2つのIN句が含まれます。NamedParameterJdbctemplateのフェッチサイズ?

私の知る限りでは、制限される可能性がありますので、このユースケースでは私はjdbctemplateを使用することはできません。 NamedParameterJdbcTemplateはIN節を使用する柔軟性を提供するため、NamedParameterJdbcTemplateに移行する必要があります。

私の答えは以下の通りです。

Q.> NamedParameterJdbcTemplateにはsetFetchSizeメソッドがありません。 NamedParameterJdbcTemplateのフェッチサイズを設定する方法はありますか?

Q> NamedParameterJdbcTemplateのデフォルトのフェッチサイズについて誰もが知っていますか? JdbcTemplateの場合は10に設定されています。 NamedParameterJdbcTemplateはどうですか?

Q> NamedParameterJdbcTemplateを使用しても、NamedParameterJdbcTemplateのフェッチサイズも10になると仮定すると、数千のレコードをフェッチするとまだ多くのアプリケーション時間がかかるため、問題は解決されません。

誰かが解決策を提案したり正しい方向に私を導くことはできますか?

答えて

3

NamedParameterJdbcTemplateはすべてのJDBC作業のためのプレーンJdbcTemplateへの代理人です。したがって、NamedParameterJdbcTemplateをコンストラクタのJdbcTemplateにカスタマイズして渡すことができます。あなたが渡したJdbcTemplatefetchSizeをカスタマイズすると、NamedParameterJdbcTemplateも同様に使用されます。参照 - https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/jdbc/core/namedparam/NamedParameterJdbcTemplate.html#NamedParameterJdbcTemplate-org.springframework.jdbc.core.JdbcOperations-

関連する問題