在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/數(shù)據(jù)庫(kù)  HTML/ 關(guān)于mongoose autoIndex的疑惑

關(guān)于mongoose autoIndex的疑惑

mongoose上的官方文檔說(shuō)autoIndex這個(gè)屬性為true時(shí),當(dāng)應(yīng)用啟動(dòng)的時(shí)候, mongoose會(huì)自動(dòng)為你的schema調(diào)用ensureIndex確保生成索引. 開(kāi)發(fā)環(huán)境用這個(gè)很好, 但是建議在生產(chǎn)環(huán)境不要使用這個(gè).那樣的話要怎么建索引,難道要手動(dòng)的用mongo shell一個(gè)一個(gè)的建索引嗎?

回答
編輯回答
扯不斷

創(chuàng)建索引本來(lái)就是一次性的工作,在mongo shell里面手動(dòng)創(chuàng)建是最好的選擇,為什么要說(shuō)“難道”呢?
這不僅是會(huì)執(zhí)行多少次的問(wèn)題,還有什么時(shí)間執(zhí)行,以及是否影響到生產(chǎn)環(huán)境的問(wèn)題。要理解索引過(guò)程對(duì)于數(shù)據(jù)庫(kù)是一個(gè)很大的消耗,前臺(tái)索引會(huì)鎖住整個(gè)集合上的所有CRUD操作,后臺(tái)索引雖然沒(méi)有直接上鎖,但仍然需要消耗大量CPU和IO來(lái)讀取文檔和修改索引。無(wú)論哪種都有可能消耗大量的時(shí)間和資源(比如在一個(gè)比較大的集合上新建一個(gè)索引)。mongoose不建議在生產(chǎn)環(huán)境使用的原因也在這里。
生產(chǎn)環(huán)境要求的是穩(wěn)定,方便只是其次。在影響到“穩(wěn)定”的時(shí)候讓步的必然是“方便”。

2017年8月30日 11:28