2017-12-05 9 views
-1

プライマリキーAと2つのカラムBCを持つテーブルがあるとします。Postgresのインデックス作成は注文速度を改善しますか?

我々はAのでSELECT * FROM table WHERE A = 'thing' ORDER BY B, C

をしたい照会が主キーである場合には、それはすでにインデックスがあります。指数をBCに追加する利点はありますか?

ありがとうございます!

+2

結果が数レコード以上ある場合はあります。主キーはユニークで、このクエリのレコードは1つだけです。したがって、1レコードを注文することには意味がありません。 –

+1

[実行計画](https://www.postgresql.org/docs/current/static/using-explain.html) –

+0

@juergend良い点を確認してください。主キーがすべて '(A、B、C)'の場合はどうなりますか? –

答えて

1

このクエリは、追加インデックスの恩恵を受けることはできません。

aがプライマリキーの場合、クエリはゼロまたは1行しか返さないため、順序は簡単ではなく、高速化できません。

実際には、ORDER BY句を省略する必要があります。

関連する問題