有个奇怪的问题
系统中所有慢的地方只要把 col like #val#||'%'形式的代码改成
                         col like #val# 就会变快 (%在程序中拼好,如:val=val+'%')
注:数据库为Oracle,col为索引列,表中数据为180万

解决方案 »

  1.   

    like 你就不要指望能快OVER
      

  2.   

    问题是我改成 like #val#后确实变快了,而且索引肯定用上了
      

  3.   

    col like #val#||'%':先做字符串连接,后做like查询,字符串连接放在数据库中,顾时间长点col like #val#:先在web容器中做字符串连接,数据库中只做like查询查询,顾时间短点
      

  4.   

    like效率本来就低下。like 后面的字符串如果不带%。。就相当于=,效率自然要高多了啊。
      

  5.   

    用查询计划看一下,估计是col like #val#||'%'这种写法用不到索引, like是只有左匹配才能用到索引的。
      

  6.   

    在查询计划里显示
    col like #val#||'%' 与 
    col like #val# 没有任何区别,
    因此我怀疑在用iBatis时,||造成的性能问题
    有可能是三楼说的那种情况
    也有可能是||造成无法使用绑定变量功能??
    困扰中。。