Oracleは2つのインデックスを利用して、ROWIDでテーブルにアクセスせずにクエリ全体を解決できますか?Oracle:2つのインデックスを使用する利点を利用してください
SELECT 'Scarti letture GAS' tipo, campo47 pdf, COUNT (1) n
FROM out.CONSUMI_GEE_LC_T500_00 v
WHERE stato = 'SC'
AND stato is not null
AND campo47 is not null
GROUP BY 'Scarti letture GAS', campo47;
フィールドcampo47をSTATOインデックスに追加するテストを行いました。パフォーマンスは1 '49' 'から0,6'に向上します。
statoの索引は選択的ではありません。 campo47のインデックス(フィールド47を意味する)は本当に選択的です。
どうすれば別の種類の挿入/選択パフォーマンスをテストできますかインデックス? STATOのインデックスを(STATO、CAMPO47)に置き換えたり、STATOとCampo47の両方のインデックスを削除したり、単にインデックス(STATO、CAMPO47)で置き換えたりすることができます。 – Revious
私は、Oracleがstato = 'SC'ですべてのROWIDにアクセスし、次にROWIDで検索してテーブルにアクセスせずにresutlを直接返すcampo47のインデックスの高速フル・インデックス・スキャンを行うべきだと思います。 – Revious
@APCあなたは私に 'admin at sqlfiddle dot com'というメールを送ってもいいですか、ここでリンクしてください。sqlfiddleの実行計画で見つかった問題の例ですか?ありがとう –