如果被replace的列上有索引的话,会有额外的开销。

解决方案 »

  1.   

    因为是sql2000的数据库,要分页,我用的是动态sql语句.
    set @sql='select top '+ str(@pageSize) +' d.Wtdh as Wtdh ,d.Rwd_code as Rwdh,b.COMPANYNAME 
    as Sydw,c.Sybm as Sybm,b.DEVICEZL+b.DEVICELB as Sblb,b.DEVICEZL+b.DEVICELB+b.DEVICEPZ
    as Sbpz,b.DEVICENUMBER as Zcdm
    ,b.USECERNUM as Syzh,b.ADDRESS as Azdd,b.PRODUCTNUM as Ccbh,b.NEXTDATE as Bcdqjyrq
    ,d.Xmfzr as Xmfzr,b.Assigncheckdate as Rwdscsj,b.Assignuser_id as Scbj 
             from  bgexchange.dbo.device b 
    left join wtk c on replace(b.DEVICENUMBER,'-','')=replace(c.zcdm,'-','') 
            left join rwd d on
    b.assignuserdes=d.rwd_code where b.COMPANYNAME ='''+ @sydw +''' and c.Wtdh is not null 
    and  d.Rwd_code is null 
    order by b.DEVICENUMBER asc'
      

  2.   

    两边都用replace了,这两个字段建索引了吗?