Bagaimana untuk menerangkan pertanyaan kompaun (gabungan) Mongodb?
世界只因有你
世界只因有你 2017-05-17 10:01:57
0
1
1016

Versi Mongodb: v3.4

db.h.reateIndex({'port':1});
db.h.reateIndex({'geo.city':1});

Apabila menggunakan

db.h.find({'port':'80','geo.city':'Taipei'},{'port':1,'geo.city':1,'geo.country':1})

terangkan('executionStats')

"executionStats" : {
                "executionSuccess" : true,
                "nReturned" : 280952,
                "executionTimeMillis" : 10056,
                "totalKeysExamined" : 879232,
                "totalDocsExamined" : 879232,
                "executionStages" : {
                        "stage" : "PROJECTION",
                        "nReturned" : 280952,
                        "executionTimeMillisEstimate" : 9763,
                        "works" : 879233,
                        "advanced" : 280952,
                        "needTime" : 598280,
                        "needYield" : 0,
                        "saveState" : 6915,
                        "restoreState" : 6915,
                        "isEOF" : 1,
                        "invalidates" : 0,
                        "transformBy" : {
                                "port" : 1,
                                "geo.city" : 1,
                                "geo.country" : 1,
                        },
                        "inputStage" : {
                                "stage" : "FETCH",
                                "filter" : {
                                        "geo.city" : {
                                                "$eq" : "Taipei"
                                        }
                                },
                                "nReturned" : 280952,
                                "executionTimeMillisEstimate" : 9246,
                                "works" : 879233,
                                "advanced" : 280952,
                                "needTime" : 598280,
                                "needYield" : 0,
                                "saveState" : 6915,
                                "restoreState" : 6915,
                                "isEOF" : 1,
                                "invalidates" : 0,
                                "docsExamined" : 879232,
                                "alreadyHasObj" : 0,
                                "inputStage" : {
                                        "stage" : "IXSCAN",
                                        "nReturned" : 879232,
                                        "executionTimeMillisEstimate" : 466,
                                        "works" : 879233,
                                        "advanced" : 879232,
                                        "needTime" : 0,
                                        "needYield" : 0,
                                        "saveState" : 6915,
                                        "restoreState" : 6915,
                                        "isEOF" : 1,
                                        "invalidates" : 0,
                                        "keyPattern" : {
                                                "port" : 1
                                        },
                                        "indexName" : "port_1",
                                        "isMultiKey" : false,
                                        "multiKeyPaths" : {
                                                "port" : [ ]
                                        },
                                        "isUnique" : false,
                                        "isSparse" : false,
                                        "isPartial" : false,
                                        "indexVersion" : 2,
                                        "direction" : "forward",
                                        "indexBounds" : {
                                                "port" : [
                                                        "[\"80\", \"80\"]"
                                                ]
                                        },
                                        "keysExamined" : 879232,
                                        "seeks" : 1,
                                        "dupsTested" : 0,
                                        "dupsDropped" : 0,
                                        "seenInvalidated" : 0
                                }
                        }
                }

Seperti contoh di atas, kecuali port menggunakan indeks? Atau adakah kedua-duanya digunakan? Jika kedua-duanya digunakan, adakah kita masih perlu mencipta indeks komposit?
Terima kasih

世界只因有你
世界只因有你

membalas semua(1)
给我你的怀抱

Jawab sendiri, indeks digunakan di atas, tetapi hanya sebahagian daripadanya.
Jika anda mencipta indeks komposit, ia akan dicari dengan lebih pantas.
Jadi, anda masih perlu menggunakan indeks komposit untuk carian gabungan.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!