4
空間インデックスは「範囲-順序-制限」クエリに役立ちますか
R-tree / spatialインデックスに適しているので、特にPostgresに対してこの質問をすること。 次の表に、単語とその頻度のツリー構造(ネストされたセットモデル)を示します。 lexikon ------- _id integer PRIMARY KEY word text frequency integer lset integer UNIQUE KEY rset integer UNIQUE KEY そしてクエリ: SELECT word FROM lexikon WHERE lset BETWEEN @Low AND @High ORDER BY frequency DESC LIMIT @N カバリングインデックス(lset, frequency, word)が有効であると思いlsetますが、(@High, @Low)範囲内の値が多すぎるとうまく機能しない可能性があります。 (frequency DESC)そのインデックスを使用した検索@Nが範囲条件に一致する行を早期に生成する場合、単純なインデックスで十分な場合もあります。 しかし、パフォーマンスはパラメーター値に大きく依存するようです。 範囲(@Low, @High)が広いか狭いかに関係なく、また、頻度の高い単語が幸運にも選択された範囲内にあるかどうかにかかわらず、高速に実行する方法はありますか? Rツリー/空間インデックスは役立ちますか? インデックスの追加、クエリの書き換え、テーブルの再設計、制限はありません。