【发布时间】:2013-03-11 03:33:50
【问题描述】:
我在 Access 中有这个查询:
SELECT TOP 10 title,
ConcatRelated("DOCTEXT","DocumFrag", "title='" & title & "'" ) AS result
FROM DocumFrag
GROUP BY title;
DocumFrag 包含大约 9000 条记录,ConcatRelated 是 VBA 代码在这里找到:http://allenbrowne.com/func-concat.html
当我只针对 TOP 10 运行此查询并完成时,它会持续滞后到 20 秒的响应时间(点击、打字等)。
有没有办法可以改进它以使其更稳定?我以 TOP 10 为例来测试它是否滞后;最后我需要全选。
我这个查询的目标和Concatenating record values in database (MS Access) or in server side code (ASP.NET)一样(除了Access,不是ASP.NET)
或者有没有一种方法可以使用查询而不是 VBA 来完成?
【问题讨论】:
-
用户定义的函数很慢。在大多数情况下,您还不如使用纯 VBA ,它甚至可能更快。
-
也许尝试以
Snapshot运行此查询。或将结果输出到临时文件。表。 -
@Mike A Snapshot 仍然相当滞后,尽管帮助了大约 20%。
-
@JBurace 你打算如何使用结果?如果您将它们绑定到一次只显示一条记录的表单,问题可能会消失。如果您可以将它们导出到文件或临时表中。
-
@Mike 目的是让用户通过 Ctrl+F 浏览整个结果。但与此同时,“管理员”可能会定期更新查询从中提取的原始表。
标签: sql performance vba ms-access-2010