类似这样一个IMEI的数据。因为数据量比较大。目前5W多的数据就查询就超时了。。
不知道大家是否有更加快速的办法INSERT INTO dbo.KFService_IMEIErrorTB 
     SELECT isnull(dbo.KFService_IMEIInfoTempTB.IMEINo,''), isnull( dbo.KFService_IMEIInfoTempTB.TerminalSerialNo,''),'产品型号与产品类型不匹配'
       FROM        dbo.KFService_IMEIInfoTempTB 
       WHERE IMEINo NOT IN (
       SELECT     dbo.KFService_IMEIInfoTempTB.IMEINo
FROM         dbo.Sys_ComplexParameterTB INNER JOIN
                      dbo.KFService_ProductModelTB ON dbo.Sys_ComplexParameterTB.ComplexParameterID = dbo.KFService_ProductModelTB.ProductTypeCodeID INNER JOIN
                      dbo.KFService_IMEIInfoTempTB ON dbo.Sys_ComplexParameterTB.ComplexParameterName = dbo.KFService_IMEIInfoTempTB.ProductTypeCode AND 
                      dbo.KFService_ProductModelTB.ProductModelCode = dbo.KFService_IMEIInfoTempTB.ProductModelCode
WHERE     (dbo.Sys_ComplexParameterTB.ComplexParameterTypeCodeID = 3001))

解决方案 »

  1.   

    1、用not exsits代替not in,
    2、在dbo.Sys_ComplexParameterTB.ComplexParameterTypeCodeID、
     dbo.KFService_ProductModelTB.ProductTypeCodeID、
    dbo.Sys_ComplexParameterTB.ComplexParameterName 、
    dbo.KFService_IMEIInfoTempTB.ProductTypeCode、
    dbo.KFService_ProductModelTB.ProductModelCode、
    dbo.KFService_IMEIInfoTempTB.ProductModelCode
    上建索引
    INSERT INTO dbo.KFService_IMEIErrorTB  
      SELECT isnull(dbo.KFService_IMEIInfoTempTB.IMEINo,''), isnull( dbo.KFService_IMEIInfoTempTB.TerminalSerialNo,''),'产品型号与产品类型不匹配'
      FROM dbo.KFService_IMEIInfoTempTB  TB
      WHERE  NOT exists (
    SELECT 1
    FROM dbo.Sys_ComplexParameterTB INNER JOIN
      dbo.KFService_ProductModelTB ON dbo.Sys_ComplexParameterTB.ComplexParameterID = dbo.KFService_ProductModelTB.ProductTypeCodeID INNER JOIN
      dbo.KFService_IMEIInfoTempTB ON dbo.Sys_ComplexParameterTB.ComplexParameterName = dbo.KFService_IMEIInfoTempTB.ProductTypeCode AND  
      dbo.KFService_ProductModelTB.ProductModelCode = dbo.KFService_IMEIInfoTempTB.ProductModelCode
    WHERE (dbo.Sys_ComplexParameterTB.ComplexParameterTypeCodeID = 3001)
     and TB.IMEINo=dbo.KFService_IMEIInfoTempTB.IMEINo
    )
      

  2.   

    执行出错啊。
    消息 4104,级别 16,状态 1,第 1 行
    无法绑定由多个部分组成的标识符 "dbo.KFService_IMEIInfoTempTB.IMEINo"。