問合せを改善しようとしています。私はチケットのデータセットを開いています。すべてのチケットには異なる行があり、すべての行にはチケットの更新が表示されます。行ごとに異なるフィールド(dt_update)があります。クエリー・エンベデッドを使用した問合せのOracleチューニング
私はこのインデックスをst_remedy_full_lightに持っています。
IDX_ASSIGNMENT(ASSIGNMENT)
IDX_REMEDY_INC_ID(REMEDY_INC_ID)
IDX_REMDULL_LIGHT_DTUPD(DT_UPDATE)次に
、クエリが8秒で行われます。私のために高いです。
WITH last_ticket AS
(SELECT *
FROM st_remedy_full_light a
WHERE a.dt_update IN
(SELECT MAX(dt_update)
FROM st_remedy_full_light
WHERE remedy_inc_id = a.remedy_inc_id
)
)
SELECT remedy_inc_id, ASSIGNMENT FROM last_ticket
これは、このクエリをより良くするためにどのように私ができる計画 のですか?
P.S.これは大きなクエリ
追加情報のほんの一部です: - 表には、あなたが試みることができる529.507行
複数の 'st_remedy_full_light'を 'remedy_inc_id'ごとに同じ 'dt_update'にすることはできますか? –
(remedy_inc_id、dt_update)の索引、または場合によっては(remedy_inc_id、dt_update、assignment) - Tony Andrewsの示唆にサブクエリを変更したくない場合に役立ちます。私。各列の索引ではなく、複数の列を含む単一の索引 - Oracleは問合せに対してこれらの単一列索引のいずれかを使用できますが、3つの列をすべて使用していても3つすべてを使用することはできませんクエリ。このようなインデックスは、Tony Andrewの提案されたクエリにも役立つでしょう。 @EvgeniyK。 – Boneist
。 remedy_inc_idにはdt_updateが増えましたが、もう一方には増えませんでした。 – vecio88