no_indexが実際にクエリを高速化する方法を理解しようとしていますが、それを説明するドキュメントをオンラインで見つけることができませんでした。
たとえば、実行速度が非常に遅いこのクエリがあります
select *
from <tablename>
where field1_ like '%someGenericString%' and
field1_ <> 'someSpecificString' and
Action_='_someAction_' and
Timestamp_ >= trunc(sysdate - 2)
そして、私たちのDBAの1人は、これを行うことで大幅にスピードアップすることができました
select /*+ NO_INDEX(TAB_000000000019) */ *
from <tablename>
where field1_ like '%someGenericString%' and
field1_ <> 'someSpecificString' and
Action_='_someAction_' and
Timestamp_ >= trunc(sysdate - 2)
そして、私は理由がわかりませんか?実行にさらに時間がかかるため、これが機能する理由を理解して、別のクエリ(これは結合)に適用して速度を上げることができるかどうかを確認したいと思います。
ありがとう!
**更新**例のテーブルについて私が知っていることは次のとおりです。
- これは「パーティションテーブル」です
- TAB_000000000019はテーブルであり、その中の列ではありません
- field1にインデックスが付けられます