2017-06-01 7 views
0

私はJPAの初心者です。JPAを使用したコンポジットインデックス

私はJPAを使用して複合インデックスを定義している:

@Table(name = "table_name", indexes = { @Index(name = "my_index", columnList = "id, user_id") }) 

私の質問は、私がサービスを使用してデータベースからデータを取得するためにインデックスを使用することができています。

+3

インデックスは、あなただけの、より多くの何も、それを作成するべきではないデータベースによって使用されているインデックスのexcellend説明を見つけることができます。 –

答えて

1

まもなくインデックス、なぜそれが使われている何を明確にします:

  • は、インデックスは、元のレコードに 値とポインタを格納し、更に作成したデータ構造に バイナリ検索を使用することによりselect文のパフォーマンスを向上させるために使用されます。

短所:

  • 速度低下create, update, deleteクエリインデックスはまた、データで更新されているので、あなたは、インデックス付きの列を更新している場合。
  • 追加のディスク容量が必要です。

テーブルの主キーは、常に既定でインデックスされます。

したがって、明示的にインデックスを使用することはできませんが、データベースではインデックスを使用できません。

あなたはhere

+0

"追加のディスク容量が必要です。" RAMだけでなく? – harshavmb

+0

はい、データもキャッシュされ、メモリを消費しますが、仮想メモリも使用します –

関連する問題