二,由于是非主键字段,应该也没建索引吧,索引trim前后都不会使用索引
trim之后,长度变短了,字符串本身是逐个字符比较的,比较起来肯定会变快的啊

解决方案 »

  1.   

    通过union连接以后,外层的条件不能作用到内层,导致先获取视图的结果集,再筛选,资源存在浪费第二点没怎么看明白,where a=xxx慢,用where trim(a)=xxx 就变快了?
    不会是建了trim()的函数索引吧,看下执行计划
      

  2.   

    有个问题:在这种多表union条件下,是不是最好不要用视图?
      

  3.   

    第一个很显然是union all 并多个表 没有日期条件 数据量大 没有过滤 当然慢
    第二个 trim把这个字段的空值过滤了