MongoDB: Update/Upsert vs Einfügen

Kurzem Bemerke ich einen großen performance-Unterschied zwischen multiple-upserts (über bulk-Operationen) vs einfügen (mehrere Dokumente). Ich würde gerne wissen, ob bin ich richtig auf dieser:

  • Upsert/Updates werden wie ein find() und update() so gibt es 2 Sachen, Lesen und schreiben
  • Einfügen schreib einfach so seine viel schneller

Somit den Unterschied in der Leistung?

Wenn dies der Fall ist, Frage ich mich, ob ich brauche viel schreibt regelmäßig, statt der Aktualisierung eines Dokuments, Schreibe ich ein neues Dokument mit einer createdOn Feld. Dann Abfragen, ich werde nur die Abfrage für Dokumente, sortiert nach createdOn DESC. Ich Frage mich, ob das eine gute Methode? Oder gibt es eine bessere Möglichkeit?

  • Frage ich mich, ob ich index für die Sammlung, könnte es beschleunigen das update? Aber nicht in diesem index verlangsamt das schreiben Teil dann?
  • Mit dem 2. Weg, wo ich nur tun einfügt, wird es langsam nach unten, dann habe ich zu viele Dokumente? Ist es möglich (um die Geschwindigkeit des schreibt)?
  • Ich habe auch versucht Erhöhung der Verbindungs-pool-Größe. Nicht sicher, was das optimale, aber ich habe versucht die 20, und ich sehe, kann ich mit ca 20 Abfragen pro Sek thru mongostat. Ich erwartet, dass es viel höher.
  • Im Allgemeinen Indizes werden nur für die Beschleunigung liest. Nicht schreibt.
  • => Erstellung von verschiedenen Dokumenten jedes mal : Es wird gute Lösung, je nachdem, wie Häufig Sie das Dokument hinzufügen. Wenn die Anzahl der Dokumente wird riesig sein in sehr weniger Zeit, finden Sie Ihre Abfrage wird langsamer. Ich werde nicht verwenden Sie diese bcos ich haben, um Dokumente in jeder Abfrage ... Auch habe ich, um ein einzelnes Dokument.
InformationsquelleAutor Jiew Meng | 2016-01-31
Schreibe einen Kommentar