我正在做一個C++的信息檢索項目。使用數據庫存儲術語有什麼好處,而不是將其存儲在數據結構(如矢量)中?更一般地說什麼時候使用數據庫而不是數據結構是一個好主意?什麼時候使用數據庫是個好主意
回答
(肖恩):每當你想保持數據超出了程序的實例的長度。 (持續時間)
(MichaelKjörling):無論何時您想要程序的許多實例,無論是在同一臺計算機還是在許多計算機上,如在網絡或網絡中,訪問和操作(共享)數據。 (跨越網絡空間的持久性)
每當你有非常大量的數據不適合內存。當你有非常複雜的數據結構,並且你更喜歡不重寫代碼來操作它們,比如搜索,更新它們,當db程序員已經寫了這樣的代碼,並且可能比你(或者我)的代碼快得多的時候,會寫。
每當你想保持超出程序實例長度的數據?
爲了澄清,我的意思是我的意思是使用數據庫,而不是使用fstream將其存儲在文件上。 – 2011-03-11 13:05:41
@Herr:這是一個(相關但是)不同的問題。 – 2011-03-11 13:09:22
除了Shawn指出持久性:每當你想讓程序的多個實例能夠輕鬆共享數據?
內存中的數據結構很好,但它們不是持久性的替代品。
這真的取決於範圍。例如,如果您要讓多個應用程序訪問數據,那麼數據庫會更好,因爲您不必擔心文件鎖定等。另外,如果您需要執行諸如加入其他數據,排序等等,除非你喜歡實現Quicksort。
- 1. 什麼時候是Malloc的好主意?
- 2. 什麼時候使用螺旋鎖是一個好主意?
- 3. 什麼時候使用CSS顯示屬性是個好主意?
- 4. 什麼時候正在使用__call__一個好主意?
- 5. 什麼時候關閉atime和diratime是個好主意?
- 6. 什麼時候清理解決方案是個好主意?
- 7. 什麼時候通過引用傳遞不是一個好主意?
- 8. 什麼時候是鏈表最好的數據結構使用
- 9. 使用.txt填充數據庫是個好主意嗎?
- 10. 使用zlib作爲數據庫是一個好主意
- 11. 什麼時候Rails Eager默認加載所有關聯是一個好主意?
- 12. 什麼時候圖形數據庫(如Neo4j)不太好用?
- 13. 什麼是「對象數據庫」,什麼時候使用它是有益的?
- 14. 什麼時候適合使用一個數據庫,在Python
- 15. 使用MQ將數據存儲在數據庫中是一個好主意嗎?
- 16. 數據庫候選鍵中的「最小化」是什麼意思?
- 17. 使用WindowBuilder + Scala,有什麼好主意?
- 18. 什麼時候不使用RelativeLayout更好?
- 19. 什麼時候使用臨時數據庫?
- 20. 使用NHibernate訪問數據庫時最好的businessmodel是什麼?
- 21. 在android應用程序中使用db40數據庫是一個好主意嗎?
- 22. 將夏威夷用作數據庫時區是個好主意嗎?
- 23. 單身REST數據庫資源是一個好主意嗎?
- 24. 創建數據庫包裝不是一個好主意嗎?
- 25. 數據庫列中的CSV - 不是一個好主意嗎?
- 26. 拆分數據庫Web應用程序 - 好主意還是壞主意?
- 27. 使用「Control.CheckForIllegalCrossThreadCalls = false」是個好主意
- 28. 使用boost :: any是個好主意嗎?
- 29. 使用OData是個好主意嗎?
- 30. 什麼時候應該使用對象數據庫?
感謝大家的回答。 – 2011-03-11 13:17:22