如何衡量,优化数据库访问

时间:2011-02-17 02:18:13

标签: ms-access

我被告知“我们感觉数据库太慢了”,我应该把它整理出来。不是数据库大师,我正在寻找想法。

我的想法是衡量现有绩效,然后尝试优化,衡量每种效果。

有人建议使用一个好的(最好是FOSS)工具来测量对MS Access数据库的访问吗?

一本优秀的书籍或网站(或只是提出一些建议),以便优化MS Access数据库的一般方法?

提前致谢。


更新:似乎数据库写入,这些都是INSERT,永远不会更新,是问题所在。查询非常少(似乎数据存储“以防万一”)

4 个答案:

答案 0 :(得分:3)

您有正确的想法,获得基线测量,调整然后再次测量。我做了一个快速例程,运行查询X次(通常是20左右)并平均响应时间。这样我就能看出我是否在改进。

在开始之前,请确保您已经压缩了访问数据库,因为这通常有助于加快速度。之后我会查看索引以及正在运行的查询。一个常见的错误是将表单绑定到整个表,当应用程序很小时它可以正常工作但是一旦你有很多记录它就可以拖动。

答案 1 :(得分:3)

另请参阅内置性能分析器向导。从Access 2003主菜单,工具 - >分析 - >性能。如果您有Access 2007,请查看“数据库工具”功能区。

但是,我认为您的首要任务应该是“我们感觉数据库太慢”。找出应用程序的哪些方面太慢,并将优化工作集中在那些方面。不要浪费时间优化不需要它的部件。

答案 2 :(得分:2)

如果您还没有这样做,可能希望反编译。如果选项卡上有很多子表单,则在需要表单之前无需加载记录源。只需稍加努力,您通常可以将子表单减少到一个或两个,并根据需要将表单加载到子表单控件中。奇怪的是,通往后端的长路径对性能不利,所以如果你有一个,请考虑映射驱动器。

至于工具,这可能会有所帮助:
Microsoft's Unsupported Jet Optimization Tools and more

您可能也有兴趣:
Tony Toews on performance issues
Query optimization

答案 3 :(得分:1)

Google Jet SHOWPLAN。它会告诉你很多关于Jet / ACE如何优化你的SQL语句。