【发布时间】:2010-12-09 17:29:19
【问题描述】:
我有一个收集大量信息的服务器。现在每个月都有一个数据库,每个月的每一天都有一个表。通常每天大约有 200,000+ 行(一个表大约 150MB)。
在另一篇文章中,有人建议我每月只使用一张表,以便更轻松地操作数据。这并不难,因为所有条目都有日期\时间戳。
问题是我们必须使用 MS Access 前端,并且数据没有链接,而是每天导入以进行修订。这与自动连接到正确数据库和表的 VBA 脚本配合得很好。
sConnect = "ODBC;Driver={MySQL ODBC 5.1 Driver};" & _
"SERVER=172.16.0.0;" & _
"PORT=3306;" & _
"DATABASE=" & "Mon" & dbMonth & ";" & _
"USER=USER;" & _
"PASSWORD=PASS;"
DoCmd.TransferDatabase acImport, "ODBC Database", _
sConnect, acTable, "Data" & dbDay, "Revise", , True
有没有人建议一种快速简便的方法来自动从包含超过 600 万个条目的数据库中导入当天的信息?现在,通过 LAN 导入一天的数据大约需要 20 秒。
谢谢!
【问题讨论】:
-
您会注意到,每个答案都提出了相同的问题,即,为什么您认为需要将其导入表中,而不仅仅是链接到原始数据源。不导入的一个原因是 Jet/ACE 对文件大小有 2GB 的限制,并且每天有 20 万条记录,除非它们是极窄的记录(即少数具有紧凑数据类型的列),否则您很容易超出容量Jet/ACE 可以在不太长的时间内存储这么多的数据。也许您没有正确索引 MySQL 中的表。
标签: mysql database ms-access vba data-structures