mongodb - Mogodb menggunakan indeks teks, tidakkah ia boleh menggunakan indeks komposit?
PHP中文网
PHP中文网 2017-05-24 11:31:30
0
1
856

Adakah benar jika indeks teks digunakan, indeks komposit tidak boleh digunakan?
Kerana saya menggunakan pernyataan pertanyaan berikut tetapi hanya melakukan pengindeksan teks:

db.tests.find({$text:{$search:'zhangshan'},'age':5,'city':'beijing'}

Melihat melalui explain, dia telah mengindeks teks tersebut. Kemudian tapis syarat lain daripada indeks ini!
Jadi apa yang perlu saya lakukan untuk mengindeks kesemuanya?
Saya terfikir untuk mencipta indeks teks untuk semua medan. Kerana jumlah data yang besar, saya belum mencubanya, saya ingin bertanya sama ada ini boleh dilaksanakan?
Terima kasih


Tambah explain()

"executionStats" : {
        "executionSuccess" : true,
        "nReturned" : 50424,
        "executionTimeMillis" : 510228,
        "totalKeysExamined" : 83546,
        "totalDocsExamined" : 167092,
        "executionStages" : {
            "stage" : "FETCH",
            "filter" : {
                "$and" : [
                    {
                        "age" : {
                            "$eq" : "5"
                        }
                    },
                    {
                        "city" : {
                            "$eq" : "beijing"
                        }
                    }
                ]
            },
            "nReturned" : 50424,
            "executionTimeMillisEstimate" : 509543,
            "works" : 167095,
            "advanced" : 50424,
            "needTime" : 116670,
            "needYield" : 0,
            "saveState" : 24418,
            "restoreState" : 24418,
            "isEOF" : 1,
            "invalidates" : 0,
            "docsExamined" : 83546,
            "alreadyHasObj" : 83546,
            "inputStage" : {
                "stage" : "TEXT",
                "nReturned" : 83546,
                "executionTimeMillisEstimate" : 509362,
                "works" : 167095,
                "advanced" : 83546,
                "needTime" : 83548,
                "needYield" : 0,
                "saveState" : 24418,
                "restoreState" : 24418,
                "isEOF" : 1,
                "invalidates" : 0,
                "indexPrefix" : {
                    
                },
                "indexName" : "banner_text",
                "parsedTextQuery" : {
                    "terms" : [
                        "ii"
                    ],
                    "negatedTerms" : [ ],
                    "phrases" : [ ],
                    "negatedPhrases" : [ ]
                },
                "textIndexVersion" : 3,
                "inputStage" : {
                    "stage" : "TEXT_MATCH",
                    "nReturned" : 83546,
                    "executionTimeMillisEstimate" : 509320,
                    "works" : 167095,
                    "advanced" : 83546,
                    "needTime" : 83548,
                    "needYield" : 0,
                    "saveState" : 24418,
                    "restoreState" : 24418,
                    "isEOF" : 1,
                    "invalidates" : 0,
                    "docsRejected" : 0,
                    "inputStage" : {
                        "stage" : "TEXT_OR",
                        "nReturned" : 83546,
                        "executionTimeMillisEstimate" : 509310,
                        "works" : 167095,
                        "advanced" : 83546,
                        "needTime" : 83548,
                        "needYield" : 0,
                        "saveState" : 24418,
                        "restoreState" : 24418,
                        "isEOF" : 1,
                        "invalidates" : 0,
                        "docsExamined" : 83546,
                        "inputStage" : {
                            "stage" : "IXSCAN",
                            "nReturned" : 83546,
                            "executionTimeMillisEstimate" : 1642,
                            "works" : 83547,
                            "advanced" : 83546,
                            "needTime" : 0,
                            "needYield" : 0,
                            "saveState" : 24418,
                            "restoreState" : 24418,
                            "isEOF" : 1,
                            "invalidates" : 0,
                            "keyPattern" : {
                                "_fts" : "text",
                                "_ftsx" : 1
                            },
                            "indexName" : "name_text",
                            "isMultiKey" : true,
                            "isUnique" : false,
                            "isSparse" : false,
                            "isPartial" : false,
                            "indexVersion" : 2,
                            "direction" : "backward",
                            "indexBounds" : {
                                
                            },
                            "keysExamined" : 83546,
                            "seeks" : 1,
                            "dupsTested" : 83546,
                            "dupsDropped" : 0,
                            "seenInvalidated" : 0
                        }
                    }
PHP中文网
PHP中文网

认证0级讲师

membalas semua(1)
世界只因有你

Cuba jawab:

1 Pertama sekali, saya ingin melihat bagaimana indeks kompaun anda ditubuhkan secara khusus?

2. Hasil pelaksanaan dilaksanakan mengikut pelan pelaksanaan yang dipilih jika prestasi tidak memuaskan, anda boleh menggunakan petunjuk untuk menentukan indeks komposit yang anda buat.

Suka MongoDB!


Persidangan Kumpulan Pengguna Komuniti Cina MongoDB Beijing 2017 akan datang tidak lama lagi, 3 Jun 2017 13:00-18:00

Banyak perkongsian yang menarik! Berbaloi untuk mengambil bahagian!

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan