2011-02-17 37 views
2

我被告知「我們有一種感覺,數據庫太慢了」,我應該把它整理出來。不是數據庫大師,我正在尋找想法。我如何測量,然後優化數據庫訪問

我的想法是測量現有的性能,然後嘗試優化,測量每個效果。

任何人都可以建議一個很好的(最好是FOSS)工具來測量對MS Access數據庫的訪問嗎?

一本好書或網站(或只是提出一些建議)的一般方法來優化MS Access數據庫?

在此先感謝。


更新:似乎數據庫寫入,這是所有INSERT,從來沒有更新,是問題。有很少的查詢(它似乎像存儲數據「以防萬一」)

回答

3

也期待在內置性能分析器嚮導。從Access 2003主菜單中,工具 - >分析 - >性能。如果您有Access 2007,請查看數據庫工具功能區。

但是,我認爲您的第一筆業務應該是處理「我們感覺數據庫太慢」。找出應用程序的哪些方面太慢,並將重點放在這些方面。不要浪費時間優化不需要它的零件。

+0

+1謝謝。我會問一些問題,但可能會介紹一切。 – Mawg 2011-02-17 15:31:42

3

你有正確的想法,得到一個基準測量,調整,然後再次測量。我做了一個快速例程,運行一次查詢X次(通常爲20次左右),並平均化響應時間。這樣我可以看到我是否正在改進。

在開始之前,請確保您已經壓縮了訪問數據庫,因爲這通常有助於加快速度。之後,我會看看索引和正在運行的查詢。一個常見的錯誤是將表單綁定到整個表格,當應用程序很小時它可以正常工作,但是一旦有很多可以拖動的記錄。

+0

+1感謝您的幫助 – Mawg 2011-02-17 15:30:31

2

如果您還沒有這樣做,您可能希望進行反編譯。如果選項卡上有很多子表單,則無需在需要表單之前加載記錄源。稍加努力,通常可以將子窗體縮小爲一個或兩個,並根據需要將窗體加載到子窗體控件中。奇怪的是,通往後端的漫長道路對性能是不利的,所以如果你有一個,考慮映射驅動器。

至於工具,這可能會幫助:
Microsoft's Unsupported Jet Optimization Tools and more

您還可能感興趣的:
Tony Toews on performance issues
Query optimization

+0

+1謝謝你的鏈接。 – Mawg 2011-02-17 15:32:24

1

Google Jet SHOWPLAN。它會告訴你很多關於Jet/ACE如何優化你的SQL語句。

+0

+1謝謝,這非常有幫助 – Mawg 2011-02-18 12:28:33