注意了。。 SAL 是索引列 索引列上避免出现计算 改成 select * from c where sal >2000*12
(22) 避免在索引列上使用计算. WHERE 子句中,如果索引列是函数的一部分.优化器将不使用索引而使用全表扫描. 举例: 低效: SELECT … FROM DEPT WHERE SAL * 12 > 25000; 高效: SELECT … FROM DEPT WHERE SAL > 25000/12;
select * from c where sal >2000*12 起初我也这么认为的! 这是一个面试题,但面试官说这么做是错误的!我也很郁闷!
SAL 是索引列 索引列上避免出现计算 改成
select * from c where sal >2000*12
WHERE 子句中,如果索引列是函数的一部分.优化器将不使用索引而使用全表扫描.
举例:
低效:
SELECT … FROM DEPT WHERE SAL * 12 > 25000;
高效:
SELECT … FROM DEPT WHERE SAL > 25000/12;
这是一个面试题,但面试官说这么做是错误的!我也很郁闷!