我试图了解 no_index 实际上如何加快查询速度,但无法在线找到文档来解释它。
例如,我有一个运行非常慢的查询
select *
from <tablename>
where field1_ like '%someGenericString%' and
field1_ <> 'someSpecificString' and
Action_='_someAction_' and
Timestamp_ >= trunc(sysdate - 2)
我们的一位 DBA 能够通过这样做显着加快速度
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 被索引