MongoDB expresión regular con campo indexado

Estaba creando mi primera aplicación usando MongoDB. Se creó el índice para un campo y probé una consulta de búsqueda con $ regex param, lanzado en un shell

> db.foo.find({A:{$regex:'BLABLA!25500[0-9]'}}).explain()
{
        "cursor" : "BtreeCursor A_1 multi",
        "nscanned" : 500001,
        "nscannedObjects" : 10,
        "n" : 10,
        "millis" : 956,
        "nYields" : 0,
        "nChunkSkips" : 0,
        "isMultiKey" : false,
        "indexOnly" : false,
        "indexBounds" : {
                "A" : [
                        [
                                "",
                                {

                                }
                        ],
                        [
                                /BLABLA!25500[0-9]/,
                                /BLABLA!25500[0-9]/
                        ]
                ]
        }
}

Es muy extraño, porque cuando estoy iniciando la misma consulta, pero sin índice en la colección, el rendimiento es mucho mejor.

> db.foo.find({A:{$regex:'BLABLA!25500[0-9]'}}).explain()
{
        "cursor" : "BasicCursor",
        "nscanned" : 500002,
        "nscannedObjects" : 500002,
        "n" : 10,
        "millis" : 531,
        "nYields" : 0,
        "nChunkSkips" : 0,
        "isMultiKey" : false,
        "indexOnly" : false,
        "indexBounds" : {

        }
}

bviamente, buscar un campo con índice sin expresión regular funciona mucho más rápido (es decir, buscar documentos con campo constante), pero estoy realmente interesado en el motivo de tal comportamiento.

Respuestas a la pregunta(1)

Su respuesta a la pregunta