MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB:le dimensioni del documento influiscono sulle prestazioni delle query?

Un modo per riformulare la domanda è dire che una query di 1 milione di documenti richiede più tempo se i documenti sono 16 MB rispetto a 16 kb ciascuno.

Correggimi se sbaglio, in base alla mia esperienza, più piccola è la dimensione del documento, più veloce sarà la query.

Ho eseguito query su 500.000 documenti rispetto a 25.000 documenti e la query da 25.000 è stata notevolmente più veloce, da pochi millisecondi a 1-3 secondi più veloce. In produzione la differenza di orario è di circa 2x-10x in più.

L'unico aspetto in cui la dimensione del documento entra in gioco è nell'ordinamento delle query, nel qual caso, le dimensioni del documento influenzeranno l'esecuzione o meno della query stessa. Ho raggiunto questo limite numerose volte cercando di ordinare un minimo di 2k documenti.

Altri riferimenti con alcune soluzioni qui:https://docs.mongodb.org/manual /riferimento/limiti/#operazioni https://docs.mongodb.org/ manual/reference/operator/aggregation/sort/#sort-memory-limit

Alla fine, è l'utente finale che soffre.

Quando provo a porre rimedio a query di grandi dimensioni che causano prestazioni inaccettabilmente lente. Di solito mi ritrovo a creare una nuova raccolta con un sottoinsieme di dati e a utilizzare molte condizioni di query insieme a un ordinamento e un limite.

Spero che questo aiuti!