今天有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的,好交流交流。
office access 和 postgresql 在vba中的比较
版主: wkx9dragon
在线用户
正浏览此版面之用户: 没有注册用户 和 1 访客