我们在生产环境中有 Oracle 11G R2。
我喜欢提高 1 个查询的性能
select ....
from FORMX
where (INF_TYP =?)
AND (STATUS IN (?, ?, ?, ?, ?, ?))
AND ((VAL_DAT>=? OR VAL_DAT IS NULL));
列的类型VAL_DAT
是DATE
。添加索引VAL_DAT
不会产生明显的效果。
任何想法如何调整或如何更改查询?
编辑
我们在该表中总共有大约 150K 条记录(对于 1 年的生产)VAL_DAT is null
,大约 8% 的记录条件是正确的。
'INF_TYP' 和 'STATUS' 的类型是 VARCHAR2(2 CHAR) 和 VARCHAR2(10 CHAR)。