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

MongoDB 2.6 Impostazione dell'indice, query utilizzando $o, $in, con limite e ordinamento

Non sono sicuro che si tratti di un bug in MongoDB 2.6, ma puoi dare un'occhiata a questo articolo sulla creazione dell'indice.

Quindi, seguendo questo consiglio, puoi provare con questi indici:

$col->ensureIndex(array('owner' => 1, 'ca' => -1));
$col->ensureIndex(array('ca' => -1, 'owner' => 1, 'perm.type' => 1));
$col->ensureIndex(array('perm.list' => 1, 'ca' => -1, 'owner' => 1));

Modifica:

Dalla tua spiegazione, se stai testando su piccoli set di dati, la raccolta completa è veloce perché MongoDB non ha bisogno di esaminare molti documenti. Dovresti provare a fare un test con, ad esempio, 10000 documenti per vedere una vera differenza. I valori per i tuoi campi negli indici dovrebbero essere sufficientemente diversi da garantire la selettività dell'indice per le tue query (ad es. non tutti i documenti provengono dallo stesso proprietario).