在这里有点窘迫,我一直在尝试很多想法,我认为我已经陷入了几个小时的出口。
我有一些查询每24小时从Microsoft Access导出到MySQL,问题是出口需要大约一个半小时才能完成。
MySQL数据库默认使用InnoDB引擎,但MyISAM添加数据的速度更快?如果我使用ODBC或DoCmd.TransferDatabase,我只能在缓慢导出后将数据库编辑为MyISAM,是否有更快的方式导出数据?
导出的数据集耗时很长,大约有40,000条记录(10列数据)。真的需要这么久吗?
我在VBA中的当前工作流程是连接到MySQL并在重新创建之前删除该表。就像我说的那样,这对于巨大的桌子来说还可行 - 可能很快会有另一个这样的大小,并且真的不需要几个小时来获取数据。欢迎任何帮助。
尝试了以下与我设置的ODBC匹配的连接(并尝试了Macro调用已保存的导出过程):
Set cn = CreateObject("ADODB.Connection")
cn.Open "Driver={MySQL ODBC 5.3 ANSI Driver};Server=" & _
Server_Name & ";Database=" & Database_Name & _
";Uid=" & User_ID & ";Pwd=" & Password & ";"
SQLStr = "CREATE TABLE " & tblName & "(Code VARCHAR(10), Name VARCHAR(255), RegionCode VARCHAR(11), RegionName VARCHAR(100), CountryCode VARCHAR(10), CountryName VARCHAR(255), Address1 VARCHAR(255), Address2 VARCHAR(255), Address3 VARCHAR(255), Address4 VARCHAR(255), PostCode VARCHAR(20), Phone VARCHAR(30));"
rs.Open SQLStr, cn, adOpenStatic
SQLStr = "INSERT INTO " & tblName & " SELECT * FROM qryQuery1;"