2011-03-11 96 views
3

我正在做一個C++的信息檢索項目。使用數據庫存儲術語有什麼好處,而不是將其存儲在數據結構(如矢量)中?更一般地說什麼時候使用數據庫而不是數據結構是一個好主意?什麼時候使用數據庫是個好主意

回答

2
  1. (肖恩):每當你想保持數據超出了程序的實例的長度。 (持續時間)

  2. (MichaelKjörling):無論何時您想要程序的許多實例,無論是在同一臺計算機還是在許多計算機上,如在網絡或網絡中,訪問和操作(共享)數據。 (跨越網絡空間的持久性)

  3. 每當你有非常大量的數據不適合內存。當你有非常複雜的數據結構,並且你更喜歡不重寫代碼來操作它們,比如搜索,更新它們,當db程序員已經寫了這樣的代碼,並且可能比你(或者我)的代碼快得多的時候,會寫。

+0

感謝大家的回答。 – 2011-03-11 13:17:22

2

每當你想保持超出程序實例長度的數據?

+0

爲了澄清,我的意思是我的意思是使用數據庫,而不是使用fstream將其存儲在文件上。 – 2011-03-11 13:05:41

+0

@Herr:這是一個(相關但是)不同的問題。 – 2011-03-11 13:09:22

2

除了Shawn指出持久性:每當你想讓程序的多個實例能夠輕鬆共享數據?

內存中的數據結構很好,但它們不是持久性的替代品。

1

這真的取決於範圍。例如,如果您要讓多個應用程序訪問數據,那麼數據庫會更好,因爲您不必擔心文件鎖定等。另外,如果您需要執行諸如加入其他數據,排序等等,除非你喜歡實現Quicksort。

相關問題