在 Oracle SQL 中,为了充分利用索引提高查询效率,应避免在 WHERE 子句的索引列上进行计算。

当索引列参与计算时,例如 WHERE SAL * 12 > 25000,Oracle 优化器将难以有效利用索引,进而选择全表扫描,导致性能下降。

为了优化查询性能,建议将计算移至索引列之外。例如,将 WHERE SAL * 12 > 25000 改写为 WHERE SAL > 25000/12,使优化器能够利用索引进行高效的数据检索。