office access 和 postgresql 在vba中的比较

讨论各种类UNIX,如 Linux distributions,OpenSolaris,Minix,GNU/kFreeBSD,GNU/Hard;广义的计算机与数码设备;Life,the Universe and Everything.

版主: wkx9dragon

回复
wkx9dragon
锌 Zn
帖子: 493
注册时间: 2010-02-02 18:00

office access 和 postgresql 在vba中的比较

帖子 wkx9dragon » 2013-01-11 23:13

今天有vba编程,发现一个问题,大批量数据导入到access表中的花,access速度比postgresql快的多(winxp,postgresql win32*86版),速度相差1-2个数量级。当然前提条件是,大批量数据中含有大量错误。如果把数据变成csv文件导入的化,速度就相差不是特别多了。对了,这是数据格式中不含有ID列的情况。后来改变表结构,都增加了ID列,发现vba程序导入数据,速度相差不大了。但还是access快。vba使用adodb的recordset导入哦。
本以为access速度完胜postgresql,但事实不是。
当数据库维护时,比如导入大量重复数据后使用sql去除重复数据的时候,意想不到的结果出来了。
sql语句为:
filter = "where ID not in ( select max(ID) from TableName group by 日期,名称,单位 ) "
SQL = "delete from TableName " & filter
psql.cnn.Execute (SQL)
access 完全傻掉了,1万多条数据,去除表中百条左右重复数据居然要600秒,而postgresql只要不到1秒,恐怖吧。
看来不同sql语句,在不同的数据库程序中速度相差很大呀。
不用不知道。不知道有没有用在windows下用postgresql的,好交流交流。

回复

在线用户

正浏览此版面之用户: 没有注册用户 和 4 访客