Chinaunix

标题: oracle 建立函数索引出现的问题,大家帮忙 [打印本页]

作者: 银面具    时间: 2008-08-18 17:08
标题: oracle 建立函数索引出现的问题,大家帮忙
表结构:
create table ZHB
(
  A CHAR(10),
  B CHAR(10)
)
数据:
a         b
111   222
333   444

建立一个函数索引:
create index ZHB01 on ZHB (SUBSTR(A,1,1));
执行查询:
select * from zhb where a = '111'
no rows selected
select * from zhb where a like '1%',可以得到正确的查询结果。
如果再增加一个索引:
create index ZHB02 on ZHB (A);
执行查询:select * from zhb where a = '111',就可以得到正确结果。
为什么会这样?单独使用函数索引,用“=”来查询就查不出记录?各位帮忙看一下,谢谢了




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2