【MongoDB】explain & hint

執行計劃分析 explain()

explain()爲aggregate()、count()、distinct()、find()、remove()、和update()這些方法提供查詢計劃分析。

使用格式

db.collection.explain().<(method…)>

還可以通過cursor.explain()和$explain執行。

explain(verbosity mode)中可以接以下參數以得到不同的返回。verbosity mode翻譯過來就是詳細模式。
這裏寫圖片描述

關於查詢計劃的內容會在以後的博客講解。

【注】aggregate() 只能使用queryPlanner模式,所以其不用指定該參數。

輸出項含義

參考官方文檔的解釋,
https://docs.mongodb.com/manual/reference/explain-results/

指定索引 hint()

hint(index)方法可以令查詢使用指定索引,從而覆蓋查詢優化器選擇的索引。
index可以是String或Document。

hint的一個特殊用法是hint({nature:1})或hint({ nature:-1}),前者強制查詢順序掃描,後者強制逆序掃描。

例子:
db.users.find().hint( { age: 1 } )
db.users.find().hint( { natural : 1 } )  
db.users.find().hint( {
natural : -1 } )

參考

https://docs.mongodb.com/manual/reference/method/db.collection.explain/

https://docs.mongodb.com/manual/reference/explain-results/

https://docs.mongodb.com/manual/reference/operator/meta/explain/

https://docs.mongodb.com/manual/reference/method/cursor.explain/

https://docs.mongodb.com/manual/core/query-plans/

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