H2 データベースを使用しており、組み込みモードで実行しています。アプリの起動時に、H2 データベースに mySQL データベースからのデータをロードします。リンクされたテーブルを使用して、mySQL テーブルを指しています。
私の問題は、特に大きなテーブル (500 万以上) の場合、H2 がテーブルにインデックスを作成するのにかかる時間を短縮しようとしていることです。
次のテーブルのデータを H2 にロードしているときに、別のスレッドで CREATE INDEX コマンドを実行しても安全かどうかは誰にもわかりませんか? 例: スレッド 1: テーブル 1 をロード -> スレッド 2 にインデックスの作成を開始するように指示し、次にスレッド 1 がテーブル 2 をロードします。
後で選択を行うときに MULTI_THREADED モードを使用する必要があるため、テーブルをロードするときに MVCC モードを使用できません。MULTI_THREADED モードを使用しようとすると、個別のテーブルにデータをロードしていたにもかかわらず、ロック エラーが発生しました。
どうもありがとう!