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

MongoDB:Pomalý dotaz, dokonce i s indexem

Pak byl bod zde jak na výběr indexu, tak na výběr řazení dotazů.

Pokud se podíváte na svůj dřívější výstup z .explain() uvidíte, že u prvku "t" ve vašem výrazu existuje rozsah "min/max". „Přesunutím na konec“ vyhodnocování povolíte další filtrovací prvky, které jsou pro celkový výraz důležitější (určete, že hlavním faktorem před skenováním bude méně možných shod „e“, ačkoli „t“ v podstatě „všechno“ .

Je to trochu DBA, ale ve světě NoSQL věřím, že se to stává programátorským problémem.

Abyste získali co nejúčinnější skenování, musíte v podstatě vytvořit svou "nejkratší cestu shody" podél vybraných klíčů. To je důvod, proč se změněné výsledky provádějí mnohem rychleji.




  1. Pokud je při aktualizaci hodnota vlastnosti null, pak by tato vlastnost neměla být přidána do záznamu

  2. Porovnejte ID řetězce s BSON::ObjectId

  3. Multitenancy založená na kolekcích s Spring Data MongoDB

  4. Jak získat vzdálenost - funkce MongoDB Template Near