0
我的問題很簡單。我正在用mongodb構建我的第一個應用程序。直到現在,我一直使用SQL。我已經閱讀了很多關於嵌入文檔和鏈接文檔的信息。Mongodb-embedded vs索引
我對mongodb老兵的問題是:如果我將索引鏈接/查詢與嵌入式文檔結合使用,速度/性能是否會有很大差異?如果存在巨大差異,請解釋原因?謝謝。
同樣,我是新來的mongodb,只是不想錯誤的腳下。謝謝。
我的問題很簡單。我正在用mongodb構建我的第一個應用程序。直到現在,我一直使用SQL。我已經閱讀了很多關於嵌入文檔和鏈接文檔的信息。Mongodb-embedded vs索引
我對mongodb老兵的問題是:如果我將索引鏈接/查詢與嵌入式文檔結合使用,速度/性能是否會有很大差異?如果存在巨大差異,請解釋原因?謝謝。
同樣,我是新來的mongodb,只是不想錯誤的腳下。謝謝。
是的,引用和嵌入式文檔之間存在巨大差異。
嵌入文檔存儲在在相同的磁盤位置的文檔的其餘字段的文件,所以沒有額外的網絡往返或磁盤尋道時您查詢文檔的檢索嵌入文檔整個。
另一方面,DBRefs只是另一個集合中文檔的_id。這將需要額外的往返,額外的磁盤尋求獲得「鏈接」文件。見規格這裏DBREFS:
http://www.mongodb.org/display/DOCS/Database+References#DatabaseReferences-DBRef
你應該嘗試通過包含在一個文檔中,以滿足該查詢所需的全部信息,以優化您最常用的查詢。
後續問題是嵌入式文檔有它自己的大小限制還是它添加到父文檔的大小?我擔心,如果所有文檔都嵌入,那麼父文檔可能會達到大小限制?這是可能的還是我不必擔心的事情?謝謝。 – user982853 2012-02-21 22:36:46
例如,如果我正在建立一個聯繫人列表。我有一個稱爲用戶的父文檔,並且該用戶文檔包含名爲「contacts」的嵌入文檔。如果用戶有50,000個聯繫人,這是問題嗎?這會造成尺寸問題。或者更好的是讓用戶記錄所有嵌入到用戶文檔中的「聯繫人」,「交易」,「日期」等。如果他們有50,000個聯繫人,10,000個交易,30,000個日期/約會等,這可能會使父母/用戶文件變得龐大。請告知。謝謝。 – user982853 2012-02-21 23:02:16
好的另一個問題是,如果事情是嵌入的,那麼你不能跨記錄運行報告。例如,假設每個父記錄都嵌入了事務記錄,並且您希望爲公司中的所有事務(而不是用戶特定的)運行報告,但如果嵌入它們,則無法輕鬆完成。正確? – user982853 2012-02-22 21:39:08