2014-02-16 160 views
1

我有一個MS Access數據庫,我每天都在使用並繼續構建它。文件大小過大

該數據庫從創建時的時間已經從2500 KB增加到8000 KB左右,並充滿了表單(無查詢),幾個報告以及大量使用VBA,DAO和SQL編寫的代碼。

在過去24小時內,數據庫從8000 KB增加到86000 KB。我對它做的唯一更改是添加了兩個新表(每個約有20列和2000行數據),並編寫了一堆SQL例程(其中一個鏈接4個表並將記錄插入到新表)。

我仍在試圖瞭解這個多餘的記憶是在哪裏誕生的。我已經很多次壓縮並修復了數據庫,而且沒有改變結果。 SQL查詢可能會誇大文件大小嗎?您的反饋將非常感謝如何去研究這些事情。

回答

2

「是否有可能SQL查詢可以擴大文件大小?」

保存的查詢(QueryDef對象)包含查詢的SQL語句的文本。此外,QueryDef還包含有關其他查詢屬性的信息。但是,保存整個信息集合所需的物理存儲空間相對較小。

儘管保存的查詢確實消耗了一些空間,但我確定新的查詢並不是您db文件大小增加10倍的原因。

如果你想分析文件大小的貢獻者,從表開始。創建一個新數據庫並從舊數據庫中導入所有表。確保重新創建所有索引和關係。緊隨其後。

該新的壓縮db文件的大小將公平地指示訪問需要保存您的數據的最小空間。

你從哪裏出發取決於你的發現。

作爲一個觀點,一旦將數據移動到單獨的數據庫中,請考慮將其保留在那裏。然後,您的原始數據庫可以通過指向後端數據庫文件中的表的鏈接訪問數據。這種分割設計是廣泛推薦的做法,但是由於文件大小以外的原因。

+0

謝謝。 。我會考慮你的建議..但我仍然困惑,因爲我真的無法看到我添加了所有內存的位置.. –