打印本文 打印本文 关闭窗口 关闭窗口
ORACLESQL性能优化系列(十三)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2179  更新时间:2009/4/22 23:22:13  文章录入:mintao  责任编辑:mintao
不使用索引:

SELECT ACCOUNT_NAME, AMOUNT

FROM TRANSACTION

WHERE ACCOUNT_NAME = NVL(:ACC_NAME,ACCOUNT_NAME);

使用索引:

SELECT ACCOUNT_NAME, AMOUNT

FROM TRANSACTION

WHERE ACCOUNT_NAME LIKE NVL(:ACC_NAME,’%’);

 

译者按:

如果一定要对使用函数的列启用索引, ORACLE新的功能: 基于函数的索引(Function-Based Index) 也许是一个较好的方案.

 CREATE INDEX EMP_I ON EMP (UPPER(ename)); /*建立基于函数的索引*/

 SELECT * FROM emp WHERE UPPER(ename) = ‘BLACKSNAIL’; /*将使用索引*/

 

上一页  [1] [2] [3] 

打印本文 打印本文 关闭窗口 关闭窗口