我在创建存储过程时为保证两表关联时没有空格字符导致数据关联不上而使用了RTRIM函数来处理。
但发现其效率真的很低。有没有其它的办法解决?谢谢!

解决方案 »

  1.   

    建议使用varchar2存储,并且在录入数据时较验。
    尽量避免使用RTRIM
      

  2.   

    如果确实需要使用RTRIM,如果性能低
    查看一下执行计划,应该没有使用上普通索引,
    这样就需要建立使用函数索引
    如:create index idx_funname on table1(rtrim(name)); 
      

  3.   

    就是因为使用了RTRIM后ORACLE的索引失效了的原因。我只能在关联前保证两表不存在空格字符再关联了。谢谢!
      

  4.   


    在页面数据录入的时候,就需要trim掉,不要再查询语句的时候,去trim,这样很消耗资源。或者你自己再数据库里面 手动修改 
    update tb1 set c1=rtrim(ltrim(c1));
    update tb2 set c2=rtrim(ltrim(c2));
      

  5.   


      基于rtrim函数建立索引!