以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  请问:数据合并是否有更快的方法?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=25541)

--  作者:lyfxybc
--  发布时间:2012/11/11 18:22:00
--  请问:数据合并是否有更快的方法?

请问:数据合并是否有更快的方法?

本人试了一下,导入和导出数据时,130000条记录大约各运行1-2秒,而合并时45000条记录合并到85000条的记录中大约120秒-150秒。

 

另外:130000条记录统计时间大约15秒,时间是否太长,如何才能减少统计时间。

[此贴子已经被作者于2012-11-11 18:29:46编辑过]

--  作者:客家阿哥
--  发布时间:2012/11/11 18:37:00
--  
我看参考书里面说导入的效率比合并高,可是一个文件里面的多个文件文件导入,因为没有例子,所以不会做
--  作者:gzdw
--  发布时间:2012/11/11 19:03:00
--  
导入速度快得多。但导入的表名不能与原有表重复。如果能增加一个“追加”功能就好了,就是导入的记录可以添加到现有的表。
[此贴子已经被作者于2012-11-11 22:13:43编辑过]

--  作者:客家阿哥
--  发布时间:2012/11/11 19:04:00
--  
是啊!!!
--  作者:sgs
--  发布时间:2012/11/11 19:17:00
--  
追加不就是合并吗
--  作者:客家阿哥
--  发布时间:2012/11/11 19:20:00
--  

怎么实现追加啊???


--  作者:lyfxybc
--  发布时间:2012/11/11 20:05:00
--  

我用的是下列代码,放在按钮中,使用还可以,烦请各位老师再看一下有何不足之处。

 

\'导出当天数据
Dim ex As New Exporter
ex.SourceTableName = "坯布信息" \'指定导出表
ex.filepath = "C:\\foxtable\\Trial\\坯布管理\\Reports\\坯布信息.mdb" \'指定目标文件
If FileSys.FileExists(ex.FilePath) Then \'如果目标文件已经存在
    FileSys.DeleteFile(ex.FilePath) \'则删除之
End If
ex.Export() \'开始导出

 

 

\'合并access文件:

Dim mg As New Merger
mg.SourcePath = "C:\\foxtable\\Trial\\坯布管理\\Reports\\坯布信息.mdb"
mg.SourceTableName = "坯布信息"  \'坯布信息.mdb中的表
mg.DataTableName = "坯布输入"
mg.Merge


 \'合并后删除access文件:

Filesys.DeleteFile("C:\\foxtable\\Trial\\坯布管理\\Reports\\坯布信息.mdb") \'合并后删除文件


--  作者:sgs
--  发布时间:2012/11/11 20:27:00
--  

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=17564&page=5

 

看看这个有木有帮助


--  作者:czy
--  发布时间:2012/11/11 22:21:00
--  
以下是引用lyfxybc在2012-11-11 18:22:00的发言:

请问:数据合并是否有更快的方法?

本人试了一下,导入和导出数据时,130000条记录大约各运行1-2秒,而合并时45000条记录合并到85000条的记录中大约120秒-150秒。

 

另外:130000条记录统计时间大约15秒,时间是否太长,如何才能减少统计时间。

[此贴子已经被作者于2012-11-11 18:29:46编辑过]

 

这个时间似乎并不能说明问题。

先排除合并数据时是不是触发了表事件,这很重要。


--  作者:lyfxybc
--  发布时间:2012/11/13 17:17:00
--  
谢谢