sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvorfor MongoDB ikke bruger Index Intersection?

Der er nogle detaljer om indeksvalget i SERVER-3071 JIRA-problem men jeg kan ikke sige, om alt stadig er relevant for 3.0. I hvert fald:

MongoDB 3.0.2 synes ikke overveje indeksinteraktion for interval forespørgsel. Men det vil i punktintervaller:

> db.orders.find( { item: {$eq : "abc123"}, qty: { $eq: 15 } } ).explain()
...

        {
            "stage" : "FETCH",
            "inputStage" : {
                "stage" : "KEEP_MUTATIONS",
                "inputStage" : {
                    "stage" : "AND_SORTED",
                    "inputStages" : [
                        {
                            "stage" : "IXSCAN",
                            "keyPattern" : {
                                "qty" : 1
                            },
                            "indexName" : "qty_1",
                            "isMultiKey" : false,
                            "direction" : "forward",
                            "indexBounds" : {
                                "qty" : [
                                    "[15.0, 15.0]"
                                ]
                            }
                        },
                        {
                            "stage" : "IXSCAN",
                            "keyPattern" : {
                                "item" : 1
                            },
                            "indexName" : "item_1",
                            "isMultiKey" : false,
                            "direction" : "forward",
                            "indexBounds" : {
                                "item" : [
                                    "[\"abc123\", \"abc123\"]"
                                ]
                            }
                        }
                    ]
                }


  1. Fjern duplikerede poster fra mongodb 4.0

  2. Find og modificer med MongoDB C#

  3. Apache Hadoop Architecture – HDFS, YARN &MapReduce

  4. Forespørgsel MongoDB søgning kun i bestemte timer