mysql から h2 にデータをロードするタスクがあります。ツリーのノード数が約 50000 を超える UI レベルでツリーをレンダリングする必要があります。したがって、H2 から読み取ると遅延が減少する可能性があると考えてください。
そのために、MySQL から H2 に約 1M (すべての顧客が独自のツリーを持っています) のレコードをロードする必要があります。ロード部分はアプリケーションによって処理されます。MySQL から読み取り、H2 へのバッチ更新を行う場所。1 回の実行で 40000 レコードを処理します。しかし、移行プロセスが続行すると、サーバーのメモリが不足します。
「SET LOG 0、SET LOCK_MODE 0、SET UNDO_LOG 0」を使用してデータを効率的にロードしようとしましたが、それでもサーバーがメモリ不足になります。
ヒープに 512M のメモリを設定しました。
H2 ドキュメントには、「create table ... as select ...」を使用してデータをより速くロードするように記載されていますが、アプリケーションは 1M レコードを読み取って CSV ファイルを作成する必要があるため、ロード時間は短縮されないと思います。
誰かが方法を提案できますか?