sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB:ovlivňuje velikost dokumentu výkon dotazu?

Jedním ze způsobů, jak přeformulovat otázku, je říci, zda dotaz na 1 milion dokumentů trvá déle, pokud mají dokumenty 16 MB oproti 16 kb každý.

Opravte mě, pokud se mýlím, z vlastní zkušenosti platí, že čím menší velikost dokumentu, tím rychlejší dotaz.

Provedl jsem dotazy na 500 000 dokumentů vs. 25 000 dokumentů a 25 000 dotaz byl znatelně rychlejší – v rozmezí od několika milisekund do 1–3 sekund rychlejší. Při výrobě je časový rozdíl asi 2x-10x větší.

Jediným aspektem, kde velikost dokumentu vstupuje do hry, je třídění dotazů, v tomto případě velikost dokumentu ovlivní, zda se samotný dotaz spustí nebo ne. Tohoto limitu jsem mnohokrát dosáhl, když jsem se snažil seřadit dokumenty o velikosti pouhých 2 000.

Další reference s některými řešeními zde:https://docs.mongodb.org/manual /reference/limits/#operations https://docs.mongodb.org/ manual/reference/operator/agregation/sort/#sort-memory-limit

Na konci dne trpí jeho koncový uživatel.

Když se pokouším opravit velké dotazy způsobující nepřijatelně pomalý výkon. Obvykle se přistihnu, že vytvářím novou kolekci s podmnožinou dat a používám spoustu podmínek dotazu spolu s řazením a limitem.

Doufám, že to pomůže!



  1. Seskupit a zobrazit data

  2. Existuje nějaký způsob, jak obnovit nedávno smazané dokumenty v MongoDB?

  3. Obsluha odpojení/znovu připojení MongoDB z Node

  4. Jak používat agregační funkci mongo db-query