如何从Access 2010获取查询计划(showplan.out)?

时间:2012-09-26 17:36:41

标签: ms-access-2010

我正在尝试弄清楚如何在Access 2010中针对ODBC数据库表执行动态追加查询(请参阅question 12592953),有人建议启用showplan调试输出:techrepublic link。但Access 2010 / accdb数据库显然不使用Jet引擎,所以这对我没有帮助。

更新:这是我正在努力工作的查询(完整描述在上面链接的其他stackoverflow问题中)。它应该使用远程副本中的新行更新表的本地副本。但是会发生什么是Access拉取整个远程表(这是巨大的并导致ODBC超时),然后在本地运行WHERE

INSERT INTO local (dt, latitude, longitude)
SELECT dt, latitude, longitude
FROM remote_odbc, (SELECT max(dt) AS max_dt FROM local) AS sub
WHERE remote_odbc.dt > max_dt;

是否有类似于Access 2010中Jet / Debug / showplan注册表的内容,以获取有关Access如何查看查询的更多信息?

2 个答案:

答案 0 :(得分:5)

谢谢@Fionnuala

对于Access 2010 32位您需要以下密钥:

在Windows 7 32位上:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Debug]
"JETSHOWPLAN"="ON"

或在Windows 7 64位上:

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Debug]
"JETSHOWPLAN"="ON"

我需要创建文件夹Debug以将密钥放入。

答案 1 :(得分:2)

您需要以下密钥:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Debug]
"JETSHOWPLAN"="ON"

以上内容从我运行Access 2010的Windows 7注册表导出,并为我生成showplan.out。