写错了
建索引  create  index  myIndex  on  myTable  (LOWER(NAME))  
 
查询  select  *  from    myTable  where  LOWER(NAME)='中国'  

解决方案 »

  1.   

    在不考虑优化器的情况下,要创建基于函数的索引首先要对用户赋query rewrite权限
    grant query rewrite to user_name;
    然后需要设置环境变量
    query_rewrite_enabled=true
    query_rewrite_integrity=trusted最后再创建基于函数的索引,否则是不能生效的
      

  2.   

    可能也与优化器有关,因为中文没有大小写之分,你试下英文,然后在看下执行计划,LOWER(NAME)='中国'
      

  3.   

    try as follows:select  *  from    myTable  where  NAME=LOWER('中国');
      

  4.   

    应该是select  *  from    myTable  where  NAME=LOWER('中国');系统会自动找到并使用索引的。
      

  5.   

    楼主为什么中文也要用upper函数?
      

  6.   

    to: biliky() 
    你这样的做法是不对的,和搂主的提问的初衷,不一致了。
      

  7.   

    Where条件中,如果=左边的字段有函数,索引是不起作用的.
    如: To_Char(Name),upper(Name)
      

  8.   

    已解决 
    select /* index 表名 索引名*/ myName from myTable wherre lower(myName )='abcd'