数据库IP,字段如下:IP,address
现里面大概有60000多条数据,每月还需要通过一个excel表格导入当月变动的IP和address。现在有这样的问题,因为IP总共就是这么多,但是地址是每月变动的,如果只是向表里追加记录,数据库就会越来越大。因此我想在导入的时候先判断这个IP的地址和原来数据库中的数据是否有变动,有就更新,没有就不改动。我现在采取方法如下:从excel中取出一条,和数据库中60000条数据依次比较,然后再取一条。这样的话,每月我更新3000多条数据,就需要比较大概3000*60000/2次,效率太低了,请问有没有什么别的办法么,谢谢

解决方案 »

  1.   

    你不处理异常就行了
    try
     ..
    except
    end;
      

  2.   

    不用依次比较吧,用SQL语句进行IP查询,存在时更新,不存在时插入。
    或者先删除该IP的记录再插入。
      

  3.   

    先把数据库的数据载入内存,在内存排序一下,从excel中读变动数据,到内存里找,然后比较是否变动,快得很啊
      

  4.   

    6W的数据取过来,还不如,将3000的数据分批传给后台的存储来执行,后台的ip如果设置了主键或索引的话,查找起来也很快的.
      

  5.   

    比如以 数据条数~ip%address~ip%address,到后台用在存储里再拆开