我正在继承的应用程序中处理一个非常大的查询。这是一个大型的插入查询,需要4个表,其中包含超过一百万条记录。我知道,我宁愿在SQL服务器中使用它,但这个客户没有基础设施来执行此操作: - )
这个查询已经工作了一年多。然而,源表继续增长,并且上周它抛出了可怕的“超出系统资源”错误。无赖...!
我认为可以优化此查询。在MySQL中工作,我会使用explain-command来查看最佳化可能发生的位置。在Access中是否有相同的功能?我似乎无法找到它....
亲切的问候,保
答案 0 :(得分:4)
可能Jet ShowPlan最接近你想要的。您必须设置注册表项。然后将查询计划信息转储到名为SHOWPLAN.OUT的文本文件中。您可以在TechRepublic上阅读本文中的详细信息:Use Microsoft Jet's ShowPlan to write more efficient queries
还可以尝试性能分析器向导。您可以要求它单独检查您的查询,或者还要求它检查该查询使用的表或其他查询。
如果您最近没有压缩数据库,请查看是否可以提高性能。压缩还会更新索引统计信息,从而使引擎能够为查询计划做出更好的决策。