首页 > 解决方案 > 带有“in 子句”的 Oracle 查询 - 如何加快使用索引?

问题描述

我得到了一个使用带有八个给定值的子句的 oracle 查询,例如:

select * from mytable a 
where a.wf_type in ('value1', 'value2', 'value3', 'value4', 'value5', 'value6', 'value7', 'value8');

该表并不大(大约 300 万行),查询执行全表扫描。因此,我为 wf_type 属性添加了一个索引。但是带有 in-clause 的查询不使用索引。如果我将查询更改为一个特定值,例如

select * from mytable a where a.wf_type = 'value1';

使用索引并且查询运行速度很快。如何使用 in-clause 固定查询?是否可以通过使用索引或有其他方法?

标签: oracleperformanceindexingin-clause

解决方案


推荐阅读