2016-04-05 11 views
1

私は、3つのテーブルを持つ多対多関係データベースを持っています。データをテーブル、特に結合テーブルにロードするのは非常に遅いです。 300万行に数時間。テーブルにインデックスを追加するのはいつですか?

インデックスを作成せずに最初にテーブルを作成することをお勧めしました。私は休止状態を使用しています。クラスでインデックスに注釈を付けることができない場合、インデックスを追加する最も良い時間と方法は何ですか? SQL文を使用してMySqlデータベース上で直接行う必要がありますか?または、インデックスは、ロードのパフォーマンスに影響を与えずに、Hibernateのどこかに追加する必要がありますか?

+0

2つの異なる概念が混乱しているようですが、インデックスはヒントと同じではありません。いくつかのインデックスを追加する必要がありますが、ヒントは追加しないでください。 – ruakh

+0

インデックスを追加するのに最適な場所と時間はいつですか?データ読み込みが非常に遅いのはい​​つですか? – user697911

答えて

1

CREATE INDEX文を使用してインデックスをMySQLデータベースに直接追加する必要があります。 テーブルが非常に大きい場合は、pt-online-schema-changeを使用してアプリケーションをブロックできないようにすることができます。

関連する問題