数据库函数索引为什么不起作用(300万条记录) 写错了建索引 create index myIndex on myTable (LOWER(NAME)) 查询 select * from myTable where LOWER(NAME)='中国' 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在不考虑优化器的情况下,要创建基于函数的索引首先要对用户赋query rewrite权限grant query rewrite to user_name;然后需要设置环境变量query_rewrite_enabled=truequery_rewrite_integrity=trusted最后再创建基于函数的索引,否则是不能生效的 可能也与优化器有关,因为中文没有大小写之分,你试下英文,然后在看下执行计划,LOWER(NAME)='中国' try as follows:select * from myTable where NAME=LOWER('中国'); 应该是select * from myTable where NAME=LOWER('中国');系统会自动找到并使用索引的。 楼主为什么中文也要用upper函数? to: biliky() 你这样的做法是不对的,和搂主的提问的初衷,不一致了。 Where条件中,如果=左边的字段有函数,索引是不起作用的.如: To_Char(Name),upper(Name) 已解决 select /* index 表名 索引名*/ myName from myTable wherre lower(myName )='abcd' 安装第三方备份软件后 RMAN 错误:没有找到数据文件1的副本来还原 关于9i修改表空间存储区设置的问题 oracle 创建表? 求教 Oracle 建库 急!!!排序问题 请帮我解决这个SQL语句的问题!谢谢 紧急求救 oracle中循环有哪些? Oracle Names是什么东西 oracommon10.dll如何修复?不修复的情况下如何备份数据库? 100分求mysql导入oralce最优解决方案!谢谢 network文件夹找不到listener.ora文件,服务里也没有OracleOraHome90TNSListener服务?(马上给分)
grant query rewrite to user_name;
然后需要设置环境变量
query_rewrite_enabled=true
query_rewrite_integrity=trusted最后再创建基于函数的索引,否则是不能生效的
你这样的做法是不对的,和搂主的提问的初衷,不一致了。
如: To_Char(Name),upper(Name)
select /* index 表名 索引名*/ myName from myTable wherre lower(myName )='abcd'