oracle - 带有“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 固定查询?是否可以通过使用索引或有其他方法?
解决方案
推荐阅读
- javascript - Vue js获取存储在div中的隐藏输入的单个值
- python - 从 mysql 选择/加载数据到内存/pandas 的最快方法
- select - 开放层:持久选择交互功能的问题
- java - 如何知道 PhantomReference 的引用对象是否真的是 GC-ed?
- bash - 环境变量 Bash PROMPT_COMMAND 的 ksh 等效项
- model-view-controller - dotnet core 中多个局部视图的模型绑定
- javascript - 用增量值和超时填充一个条形图
- android - 如何修复 Volley 库中的 JSONException 错误?
- php - 在另一个变量名中使用一个变量名
- graphql - 从云中销毁图像