|
我目前做一个项目,其中项目中的两个表数据量很大,每月有1000多天,每月都是递增的,四年可达100万条数据。
所有就有 表A和一个backup A表数据的 B表, 当项目的使用时间达到12个月,就把 A,B 表导出到SQL Server中,在SQL Server 对应的表是 "A_src" 和"B_src", 在用链接的关系把 A -->A_src, B -- B_src 对应起来。
问题是: 当我每个月 备份数据的时候 的动作是: 先把项目中的 B 删除, 在把 A表的数据全部Inser into 到B 表中,可是用平常的SQL 来执行 这两个语句,需要几分钟甚至更长, 请问各位大神有没好的办法,可以提高SQL的执行速度??
我的代码如下:
If response = vbYes Then
startTime = Format(Now(), "HH:MM:SS")
CurrentDb.Execute ("DELETE * FROM [paymSchdBackup]")
CurrentDb.Execute ("INSERT INTO [paymSchdBackup] SELECT * FROM [paymSchd]")
endTime = Format(Now(), "HH:MM:SS")
MsgBox "Backup completed without errors.", vbInformation + vbOKOnly, "Backup Completed"
End If
标红的就是执行很慢的SQL,应该是要链接到SQL Server 去执行相关操作吧。
我已经测试过,如果link 的表是在Access 数据库中而不是SQL Server 时, 备份数据是比较快的,数据量达到100万条是才1分钟左右。
|
|