P粉2810894852023-08-21 18:52:40
多くのデータベースで一般的な「インデックス ヒント」機能について質問していると仮定しますが、PostgreSQL にはそのような機能はありません。これは PostgreSQL チームによる意図的な決定です。その理由と何ができるかの概要については、ここをご覧ください。基本的な理由は、これはデータが変更されるとより多くの問題を引き起こす傾向にあるパフォーマンス最適化方法であり、PostgreSQL のオプティマイザーは統計に基づいて計画を再評価できるためです。言い換えれば、現在は優れたクエリ プランであっても、常に優れたクエリ プランであるとは限らず、インデックス ヒントにより特定のクエリ プランが強制されます。
非常に粗雑なツールですが、テスト目的で、enable_seqscan
および enable_indexscan
パラメータを使用できます。見る: ###
パラメータ
は、継続的な運用での使用を目的としたものではありません。クエリ プランの選択で問題が発生した場合は、クエリ パフォーマンスの問題の追跡に関するドキュメントを参照してください。 enable_ パラメータを設定してそのまま放置しないでください。
インデックスを使用する特別な理由がない限り、Postgres はおそらく正しい選択をするでしょう。なぜ?
小さなテーブルの場合は、順次スキャンの方が高速です。