1
我想知道寫操作(插入/更新/刪除)被觸發後索引何時更新。更新磁盤上的數據庫文件後還是在此之前更新?在寫入操作被觸發後,mongodb何時更新索引?
我的理解是,當使用JOURNALED寫關注時,將數據寫入日誌文件(〜33 ms後),然後將確認發送給客戶端。索引如何在此處添加開銷來編寫操作?他們什麼時候在這種情況下更新?
謝謝!
我想知道寫操作(插入/更新/刪除)被觸發後索引何時更新。更新磁盤上的數據庫文件後還是在此之前更新?在寫入操作被觸發後,mongodb何時更新索引?
我的理解是,當使用JOURNALED寫關注時,將數據寫入日誌文件(〜33 ms後),然後將確認發送給客戶端。索引如何在此處添加開銷來編寫操作?他們什麼時候在這種情況下更新?
謝謝!
寫入包括所有的部分 - 修改數據和修改所有索引。
該日記記錄了「提交組」,以便它能夠完全一致地重放操作。如果您的客戶端收到了寫入確認,則意味着該寫入,數據和索引的所有部分(以及複製節點情況下的oplog)已完成。
由於這個原因,寫入文檔時需要更新的索引數量會影響寫入速度:索引越多,每次寫入的時間就越長,這樣,MongoDB非常類似於傳統的RDBMS。