這是更多的算法問題,但我想弄清楚什麼是最有效的圖片大型數據庫。將大量文件全部存放在一個目錄下(比如:images/userid_pic_profile.png)還是多個目錄下存放少量文件(例如:userid/profile.png userid/avatar.png)會更有意義?多目錄或單數據存儲和訪問
回答
僅出於組織原因,您應該使用多個目錄。在一個目錄中有很多文件的一些操作系統在列出和搜索文件(我正在談論單個目錄中的成千上萬個文件)時會導致真正的減速。
有沒有任何算法或數學來支持?我打算基於直覺做到這一點,但我很想看看這是否以某種方式得到證實。 – user1470511
@ user1470511 - 緩慢?經驗;) – Oded
高度依賴於特定文件系統如何實現其目錄結構。有些使用未排序的線性文件名列表。有些使用排序的線性文件名列表。一些更進一步,並使用B型樹(或類似的),由文件名鍵入。在第一種情況下,文件數量的平均訪問是O(N),在第二和第三種情況下,O(log N)應該是可以實現的,在B-樹情況下可能有更好的常量。 – Vatine
- 1. 存儲庫模式和數據訪問
- 2. 表視圖數據存儲和訪問
- 3. 存儲和訪問2D數據
- 4. 存儲和訪問大量數據的
- 5. 存儲和訪問私人數據
- 6. 許多SVN存儲庫或許多目錄的存儲庫?
- 7. 訪問大數據集和/或存儲它們
- 8. 訪問Dropbox數據存儲數據庫
- 9. 存儲同名的數據庫和存儲目錄
- 10. Zend OpenId消費者存儲無法訪問存儲目錄
- 11. 存儲和訪問表單元格內的div的數據
- 12. 如何使用存儲訪問框架訪問「/」(根)目錄
- 13. 訪問URL和數據集和JSON文件存儲的數據
- 14. 捕捉HTML格式或數據和存儲數據到Excel訪問
- 15. 將文件存儲在多個目錄vs單個目錄中
- 16. 在一個網站上存儲數據和訪問數據
- 17. 訪問/破解/更改iPhone中存儲的「核心數據」數據有多麼簡單或困難?
- 18. PostgreSQL從存儲函數訪問多個數據庫
- 19. 更改MongoDB數據存儲目錄
- 20. 使用活動目錄存儲數據
- 21. Firebase存儲數據到根目錄
- 22. App引擎數據存儲訪問
- 23. 循環訪問Json數據存儲extjs
- 24. 數據存儲訪問優化
- 25. 存儲庫與數據訪問
- 26. 存儲陣列的數據訪問
- 27. 從Azure存儲blob訪問元數據
- 28. 爲將來的訪問存儲數據
- 29. 使用存儲過程訪問數據
- 30. 如何從JSONREST存儲訪問數據?
重複http://stackoverflow.com/questions/9821947/directory-structure-for-large-number-of-files? –
這種,但還是沒有回答效率問題。這幾乎只是建議(正如我標記爲答案的那樣,因爲我從經驗中認同)。 – user1470511
更高效的是什麼?你一次訪問一個圖片嗎?你想分析它們的大部分子集嗎?訪問中是否有可能訂購?文件是否隨時間而改變? –