-1
プライマリキーA
と2つのカラムB
とC
を持つテーブルがあるとします。Postgresのインデックス作成は注文速度を改善しますか?
我々はA
のでSELECT * FROM table WHERE A = 'thing' ORDER BY B, C
をしたい照会が主キーである場合には、それはすでにインデックスがあります。指数をB
とC
に追加する利点はありますか?
ありがとうございます!
プライマリキーA
と2つのカラムB
とC
を持つテーブルがあるとします。Postgresのインデックス作成は注文速度を改善しますか?
我々はA
のでSELECT * FROM table WHERE A = 'thing' ORDER BY B, C
をしたい照会が主キーである場合には、それはすでにインデックスがあります。指数をB
とC
に追加する利点はありますか?
ありがとうございます!
このクエリは、追加インデックスの恩恵を受けることはできません。
a
がプライマリキーの場合、クエリはゼロまたは1行しか返さないため、順序は簡単ではなく、高速化できません。
実際には、ORDER BY
句を省略する必要があります。
結果が数レコード以上ある場合はあります。主キーはユニークで、このクエリのレコードは1つだけです。したがって、1レコードを注文することには意味がありません。 –
[実行計画](https://www.postgresql.org/docs/current/static/using-explain.html) –
@juergend良い点を確認してください。主キーがすべて '(A、B、C)'の場合はどうなりますか? –