私が理解している限りCOUNT
、DISTINCT
またはLIKE %query%
(両側にワイルドカード) キーワードを使用して SQL クエリを実行すると、インデックスは使用できず、データベースはテーブル全体のスキャンを実行する必要があります。
これらのクエリのパフォーマンスを向上させる方法はありますか?
彼らは本当にインデックスを使用できないのでしょうか、それとも何らかの方法でこれを修正できますか?
1 つの列のみを返す必要がある場合、インデックスのみのスキャンを実行できますか? 例: select count(id) from MY_TABLE
: おそらくこの場合、「id」にインデックスがある場合、インデックスのみのスキャンを行い、テーブル全体へのヒットを回避できますか?
私の質問には一般的な意味があります。前述の演算子を使用する必要がある場合のパフォーマンスのガイドラインを教えてください。
更新私はPostgreSQLを使用しています。