MongoDB CPU佔用率過高,故而發現未建立索引,總結在生產環境中索引建立注意事項

1. db.collections.createIndex({‘’:’’},{unique:true})  確保查詢項的唯一性,避免重複值,否則可能創建失敗

2. 如需在已有的集合上創建唯一索引,可以重複嘗試創建唯一索引,且使用錯誤信息來刪除重複的鍵值,如果數據不重要可添加{unique:true,dropDups:true}選項來讓Mongodb刪除重複的鍵值(小心使用)

3. 查詢當前索引:db.system.indexes.find().pretty() 或 db.collections.getIndexes()

4. 如果數據集足夠大,構建過程會很慢,因爲沒有辦法中指這個過程,如果確實發生了,需災備到從服務器上,把索引構建當做數據庫遷移一樣對待

5. 使用db.currentOp()方法查看索引構建的過程

6. db.collections.createIndex({open:1,close:1},{background:true});

注:對於單字段索引,升序/降序效果是一樣的。

注:索引字段唯一性越高,越高效

 

 

參考資料:《MongoDB》實戰

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章