データベース内の「系列の値」の検索など、高速化するためにSQLインデックスを作成したいと考えています。各Value
がSeries
に属し、日付を持っていますこれらのSQLインデックスは、必要以上に重複していますか?A以上、A + B以上ですか?
@Entity
class Series { … }
Value {
Series series;
Date date;
…
}
シリーズの何百、何千もの値の多くを持つそれぞれがあります。
私は、多くの場合、2種類の検索を実行:
1)は、特定のシリーズ(どんなにその日付)に所属するすべての値を検索します。
2)特定のシリーズに属し、特定の日付間隔内にあるすべての値を検索します。
series
列に1つ、series
とdate
列に2つのSQLインデックスを作成することがあります。休止状態を使用すると、これは次のようになります。私の質問がある
@Table (indexes = {
@Index (name = "idx1", columnList = "series"),
@Index (name = "idx2", columnList = "series, date")
})
:検索は、私はこのように、単一のインデックスを作成した場合、私はこれらのインデックスの両方を作成、またはそれが同じであれば速いです:
@Table (indexes = {
@Index (name = "idx", columnList = "series, date")
})
使用しているSQLのバージョンは? –