Quand dois-je appeler assurerIndex ? Avant d'insérer un seul enregistrement, après avoir inséré un seul enregistrement ou avant d'appeler find() ?
Salutations,
Johnny
Quand dois-je appeler assurerIndex ? Avant d'insérer un seul enregistrement, après avoir inséré un seul enregistrement ou avant d'appeler find() ?
Salutations,
Johnny
Vous n'avez besoin de le faire qu'une seule fois. Exemple:
db.table.insert({foo: 'bar'});
var foo = db.table.findOne({foo: 'bar'}); // => delivered from FS, not RAM
db.table.ensureIndex({foo: 1});
var foo = db.table.findOne({foo: 'bar'}); // => delivered from RAM, not FS
db.table.insert({foo: 'foo'});
var foo = db.table.findOne({foo: 'foo'}); // => delivered from RAM, not FS
Si vous ajoutez un index au préalable, chaque appel d'insertion/mise à jour/suppression doit également modifier chaque index. Donc, du point de vue de l'optimisation, vous voudrez probablement le retarder le plus longtemps possible avant d'émettre des requêtes. Cependant, d'un point de vue fonctionnel, cela n'a pas d'importance.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.