Frage

Ich habe eine große Anzahl von Aufzeichnungen (~ 1 Milliarde), die ich in MONGODB (eigentlich Tokumx, aber was auch immer) laden muss.Ich habe ungefähr 6 verschiedene Indizes, die ich auf der Sammlung erstellen muss.Ist es immer schneller, die Daten zu laden, und erstellen Sie dann die Indizes?Wenn ich mich von Mongos Logfile anschaue, scheint es, als wäre MONGO eine Art großartige Operation (vielleicht eine Zeile zählt?) Bevor Sie tatsächlich in der Indexerstellung starten, und dies ist dies für jeden Index, den ich erstellt habe.

Es ist immer schneller, die Indizes nach dem Laden der Daten zu erstellen?

Wenn ich warten, bis ich nach dem Laden der Daten warte, wäre es schneller, jeden Index im Hintergrund gleichzeitig zu erstellen, um sie eher zu erstellen als eins nach einem?

War es hilfreich?

Lösung

Zurück am Tag, an dem wir unsere Daten auf diese Weise laden würden:

    .
  1. Drop-Indizes
  2. Daten laden in der Reihenfolge, für die der Cluster-Index erstellt würde (d. H. Sie exportieren die Daten auf präzise Weise)
  3. Nachdem die Last abgeschlossen ist, erstellen Sie den Clustered Index
  4. Weiter, erstellen Sie zusätzliche nicht gruppierte Indizes
  5. Miller Time (dies war zuvor, bevor ich mich anständiges Bier leisten konnte)

    Diese Methode hat sich immer schneller erwiesen als den Ort der Indizes.Dies war jedoch für Sybase- und SQL-Server.Ich kann mir vorstellen, dass andere Systeme ähnlich sein würden, aber ich kann nicht sicher sagen.

Andere Tipps

Wenn Sie einen großen Lastbetrieb machen, ist es schneller, den Tokumx-Bulk-Loader zu verwenden, da nur ein Durchlauf der Daten erforderlich ist, um sowohl den Primärschlüsselindex als auch die sekundären Indizes zu erstellen.Weitere Informationen finden Sie in der Dokumentation unter http:// docs.tokutek.com / Tokumx / Tokumx-Befehle.html # Tokumx-New-Commands-Loader

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit dba.stackexchange
scroll top