在布尔谓词中的复合AND条件优化中,SQL执行计划的选择对性能影响巨大。例如,使用如下查询:
SELECT /*+ first_rows */ ENAME, JOB, DEPTNO FROM EMP WHERE Deptno = 10 AND Sal < 5000 Job = 'CLERK'>
在此查询中,Deptno、Sal 和 Job 三个字段都有B树索引,而成本优化器(CBO)会选择选择性最强的索引来执行查询。如果这些字段上分别创建位图索引,则查询计划会发生变化,调用BITMAP CONVERSION,从而优化查询成本。
因此,基于成本优化器的调整,合适的索引策略和选择对SQL性能至关重要。