insert into table SELECT c_ip,_date 
FROM loginfo t WHERE (SELECT count(1)
FROM loginfo WHERE c_ip = t.c_ip AND id > t.id))<1这样呢?还有你索引是怎样建立的呢?

解决方案 »

  1.   

    在loginfo的c_ip及id上建立索引,10几万条应该很快的
      

  2.   

    insert into table SELECT t.c_ip,t._date 
    FROM loginfo t where t.c_ip=(select top 1 loginfo.c_ip from loginfo where t._date=loginfo._date)
      

  3.   

    --建立簇索引create clustered index ind_cl_logininfo
            on loginfo(c_ip,[id])
      

  4.   

    执行
    SELECT c_ip, _date
    FROM loginfo t
    WHERE (NOT EXISTS
              (SELECT 1
             FROM loginfo
             WHERE c_ip = t.c_ip AND id > t.id))
    挺快的,但是在前面加上INSERT INTO cipinfo 后,在控制台执行,提示超时
      

  5.   

    在loginfo的c_ip及id上建立索引
    且c_ip和id的值不能为空,如果有空,先将它们UPDATE成值""(字符型)或0(数字型)
      

  6.   

    我已经在loginfo的c_ip及id上建立索引,c_ip和id的值不为空
      

  7.   

    insert into table
    可能是这个表有索引引起的,插入数据需要重建索引,所以慢,可以考虑分多次插入数据,每次数据量小些