2011-11-24 79 views
2

我需要將很多文件和文件夾編入數據庫。每個工作站將有大約1000個文件/文件夾和大約100個工作站。將文件索引到數據庫

我將不斷將這些文件同步到數據庫,所以我需要能夠快速查詢數據庫以查看文件是否已經存在於數據庫中。我正在考慮使用MD5散列文件的完整路徑,並將這個散列字段編入數據庫中。這是正確的方法嗎?給出1-10百萬條記錄會發生哈希碰撞?

我有MySQL或MongoDB的選擇,我傾向於MongoDB,你會同意嗎?

回答

3

MySQL使用的標準B +樹索引可以滿足您的需求,只要確保您使用的是InnoDB而不是MyISAM就可以避免全局寫入鎖定。

如果您擔心碰撞,請調查已知不會發生碰撞的哈希機制 - 請嘗試使用MurmurHash或SHA變體。