0

特定のレガシー ツールのデータベース (特に挿入) のパフォーマンスを最適化する必要があります。このツールは Java で作成されており、データ アクセス レイヤーにはSpring + HibernateTemplateが最適なテクノロジでした。

実際の問題は、いくつかの一括挿入を行うことです。それぞれにHibernateTemplate.save()を呼び出して、 50Kを超えるデータを挿入する必要があります。これは明らかに非常に非効率的な方法ですが、時間がないため、今のところ実装を変更することはできません。

実装の変更以外の最適化パターンは何ですか?

4

1 に答える 1

1

コードを変更せずにコードを最適化したい場合、私が考えることができる唯一のことは次のとおりです。

  • hibernate.jdbc.batch_sizeの値を大きくしてみてください
  • データベースに高速なディスクとマシンを使用する

コードを少し変更する準備ができている場合は、ドキュメントのアドバイスに従い、データの挿入中に定期的にセッションをフラッシュしてクリアしてください。または、ステートレス セッションを使用します。

于 2013-05-03T10:03:30.007 に答える