2010-05-24 26 views
0

我有一個簡單的應用程序來存儲聯繫人。此應用程序使用簡單的關係數據庫來存儲聯繫人信息,如姓名,地址和其他數據字段。從數據庫檢索數據。僅在需要時才檢索或獲取所有內容?

在設計它時,我懷疑來到我的腦海:

在設計使用數據庫的程序,我應該檢索所有數據庫中的記錄,並將它們存儲在我的程序中的對象,所以我有一個非常快速的性能還是我應該只在需要時收集數據?

當然,檢索所有數據只能在不太多的情況下完成,但是在確保數據庫很小時(例如< 300條記錄),您是否使用這種方法?

我曾經設計過一個類似的應用程序,只在需要時才提取數據,但這很慢(使用Access數據庫)。

感謝您的幫助。

回答

1

這很大程度上取決於數據的類型,你的應用程序的工作的狀態,交易,多個用戶等

一般來說,你不想拉的一切,你的應用程序中對數據進行操作,因爲幾乎所有上述情況都會導致數據不同步。設想一個用戶更新聯繫人,而其他人正在他們的應用程序中從緩存版本查看該信息。

在您的應用程序中,您應該設計數據庫查詢,以便它們檢索將在當前屏幕上顯示的內容。如果用戶正在查看聯繫人列表,則查詢將檢索整個聯繫人表,或者如果您正在執行分頁視圖,則查詢該表的一部分。例如,當他們點擊聯繫人以獲取更多信息時,新的查詢將請求該聯繫人的全部詳細信息。

對於像聯繫人列表涉及的字符串和小塊數據,您不應該在關係數據庫(如SQL,MySql或Oracle)中使用任何速度問題。

1

我認爲最好在需要時檢索數據,檢索所有記錄並將其存儲在對象中可能是開銷。而當你說你有一個小型數據庫時,在需要時檢索記錄應該不是問題。