MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mongodb:wann sollte sureIndex aufgerufen werden?

Es scheint, dass mein Kommentar ein wenig missverstanden wurde, also werde ich es klarstellen. Es spielt keine Rolle, wann Sie es aufrufen, solange es irgendwann vor dem ersten Aufruf von find() aufgerufen wird. Mit anderen Worten, es spielt keine Rolle, wann Sie den Index erstellen, solange er vorhanden ist, bevor Sie ihn voraussichtlich verwenden.

Ein allgemeines Muster, das ich oft gesehen habe, ist das Codieren des ensureIndex gleichzeitig (und am selben Ort) wie find() Anruf. ensureIndex überprüft, ob der Index existiert, und erstellt ihn, wenn dies nicht der Fall ist. Es ist zweifellos ein gewisser Overhead (wenn auch sehr gering) beim Aufrufen von sureindex vor dem Aufruf von find(), daher ist es vorzuziehen, dies nicht zu tun.

Ich nenne ensureIndex im Code, um Bereitstellungen zu vereinfachen und zu vermeiden, dass die Datenbank und die Codebasis separat verwaltet werden müssen. Der Kompromiss der einfachen Bereitstellung gleicht die Redundanz nachfolgender Aufrufe von „secureIndex“ (für mich)

aus