データベースに保存しようとしているエンティティのリストが3つあります。jpa spring boot - hibernate insert slow
合計で約1000件あります。
entityRepo.save(EntityList);
ただし、これには完了までに4~5分かかります。 - そして、挿入の前にいくつかの選択をしていることに気付きました。私はそれが更新または挿入する必要があるかどうかを確認するために、休止状態であることを仮定しています。
とにかくこれを無効にし、休止状態の挿入の速度を向上させるには?
リスト全体を一度に保存すると、それを行う方法がわかりませんでしたか?
リストと一緒にsaveを使用しないで、自分自身を繰り返します。バッチインサートをオンにし、各x(たとえば50)オブジェクトをループしてクリアし、エンティティマネージャをクリアするとき。オブジェクトが永続化されるたびに、第1レベルのキャッシュ内のエンティティをすべて休止状態にします.1つのエンティティでは目立ちませんが、1000を指定すると非常に速くなります。それを50に制限し、その間にフラッシュ/クリアしてください。 –