Application に mongodb を使用しています。system.profiling レベルを 2 に設定して mongodb プロファイラーを使用し、すべてのアプリケーション操作を実行し、system.profile からすべてのレコードをエクスポートし、最後にプロファイラーの結果に基づいてコレクションにインデックスを設定しました。
これらのクエリについて説明したとき
クエリ 1。
db.stocks.find({ symbol: "GOOG", date: "2013-09-13",type: "O",Mini: false, rootsymbol: "GOOG" }).sort( { "price": 1,"call":1} ).explain();
{
"cursor" : "BtreeCursor symbol_1_date_1_type_1_Mini_1_rootsymbol_1_price_1",
"nscanned" : 80,
"nscannedObjects" : 80,
"n" : 80,
"scanAndOrder" : true,
"millis" : 2,
クエリ 2。
db.stocks.find({ symbol: "NVO" }).explain()
{
"cursor" : "BtreeCursor symbol_1",
"nscanned" : 1,
"nscannedObjects" : 1,
"n" : 1,
"millis" : 0,
"indexBounds" : {
"symbol" : [
[
"NVO",
"NVO"
]
]
}
}
結果が と混同されており、nscanned
すべてのクエリで常に同じです。nscannedObjects
n
nscanned 、 nscannedObjects 、および n の値が等しい場合に問題があるかどうか教えてください??
何か不足している場合、または問題がある場合はお知らせください??