1

検索プロセスでSpringNamedParameterJdbcTemplateを使用していますが、多くの結果が得られると、実行に数時間かかり、最適化する方法があるかどうかわかりません。ここに私のコード:

 NamedParameterJdbcTemplate jt = new NamedParameterJdbcTemplate(dataSource);
 StringBuilder sb = new StringBuilder(query);
 query = sb.toString();
 return jt.query(query, map, new MyRowMapper());

何かアイデアはありますか?

皆さんありがとう!

4

1 に答える 1

1

できることはほとんどありません1.メソッドが呼び出されるたびに
インスタンスを作成するのはなぜですか?NamedParameterJdbcTemplate一度作成して、以前に作成したインスタンスをメソッドに渡します。

NamedParameterJdbcTemplate jt = new NamedParameterJdbcTemplate(dataSource);  

NamedParameterJdbcTemplateクラス属性として保持し、一度初期化します。
2.ここで何をしようとしていますか?

 StringBuilder sb = new StringBuilder(query);
 query = sb.toString();  

タイプがの場合、メソッドqueryに直接渡します。 3.内部で、メソッド内の必須フィールドのみをフェッチして割り当てていることを確認します。これは、結果セットのすべてのレコードに対して1回呼び出されるため 、実行時間に影響を与える可能性があります。.query()String
MyRowMappermapRowmapRow

于 2012-09-12T09:24:07.037 に答える