⑴两个大容量access数据库分别为source.mdb(600MB)、dist.mdb(300MB),数据都在
 ***            ***
它们当中都有相同的表User(userId,userName,Age,Sex),userId字段是关键字,记录
都是杂乱无序的,表结构完全一致,source.mdb拥有完整数据,dist.mdb只有一部分数
据。求把source.mdb与dist.mdb不同的数据并把它们存入other.mdb的高效算法?
     ***
(环境1:操作系统win98,内存64MB,虚拟内存128M,要考虑内存不够的情况)。
    *** ***
(环境2:操作系统win98,内存2GB,虚拟内存15GB,不用考虑内存不够的情况)。
                            ***          ***

解决方案 »

  1.   

    因为你所用的是Access数据库,那么你尽量使用类似于存储过程的语句或查询来执行,尽量不使用Delphi的操作,减少中间环节,可以试试异构查询
      

  2.   

    用DataPump将dist.mdb的数据装移到other.mdb中
    再用SQL语句“UPdate()”将当前没有的数据保存下来,
    否则,用“Delete()”把一存在的数据删掉。
      

  3.   

    我做过一个对比
    结果是,直接用SQL语句来更新数据库时最快的
      

  4.   

    to wooden954(wooden)
        用异构查询的话如何实现access数据库之间的查询
    ADOConnection1.Execute('SELECT  * INTO Customers
     IN "c:\Temp\Northwind.xls" "Excel 8.0;" FROM Customers');
                                 ****(access 的话应该改为什么?)
    可否把异构查询详细的参数发给我;[email protected]
         
      

  5.   

    to wooden954(wooden)
       异构查询能否加条件如......where Age=10