Экспоейн не надо замерять. Экспоейн покажет как обрабатывает монга ваш запрос. Т.е будет видно слабые стороны запроса
с executionStats покажет именно выполнение, так что это аналог запроса по факту по времени выполнения
с ним пробовал тоже не работает
Что не работает?
выведите в консоль testResult
{ explainVersion: '1', queryPlanner: { namespace: 'EURSGD.EURSGD-m1', indexFilterSet: false, parsedQuery: { _id: [Object] }, queryHash: '182073E3', planCacheKey: '30F89A18', maxIndexedOrSolutionsReached: false, maxIndexedAndSolutionsReached: false, maxScansToExplodeReached: false, winningPlan: { stage: 'FETCH', inputStage: [Object] }, rejectedPlans: [] }, executionStats: { executionSuccess: true, nReturned: 5725857, executionTimeMillis: 8990, totalKeysExamined: 5725857, totalDocsExamined: 5725857, executionStages: { stage: 'FETCH', nReturned: 5725857, executionTimeMillisEstimate: 796, works: 5725858, advanced: 5725857, needTime: 0, needYield: 0, saveState: 5725, restoreState: 5725, isEOF: 1, docsExamined: 5725857, alreadyHasObj: 0, inputStage: [Object] } }, command: { find: 'EURSGD-m1', filter: { _id: [Object] }, '$db': 'EURSGD' }, serverInfo: { host: 'DESKTOP-O1H079M', port: 27017, version: '6.0.1', gitVersion: '32f0f9c88dc44a2c8073a5bd47cf779d4bfdee6b' }, serverParameters: { internalQueryFacetBufferSizeBytes: 104857600, internalQueryFacetMaxOutputDocSizeBytes: 104857600, internalLookupStageIntermediateDocumentMaxSizeBytes: 104857600, internalDocumentSourceGroupMaxMemoryBytes: 104857600, internalQueryMaxBlockingSortMemoryUsageBytes: 104857600, internalQueryProhibitBlockingMergeOnMongoS: 0, internalQueryMaxAddToSetBytes: 104857600, internalDocumentSourceSetWindowFieldsMaxMemoryBytes: 104857600 }, ok: 1 }
nReturned: 5725857 - вы упираетесь в количество доков, вы действительно нужно 5.7млн доков из базы вытаскивать?
конечно - это даже разминка мне понадобиться куда большее количество в будущем
ну чтож, тут вам никакая БД не поможет тогда с такими выборками
А что вы делаете? Может вам надо использовать агрегации?
я вам об этом и говорил что эта стата ниче не даст )
ну почему возможно нужно что то типа клик хауса
я анализирую каждый документ на наличии определенных вещей
эта стата дала то что можно было вообще это не обсуждать, т.е. если бы вы сразу привели пример эксплейна или сказали что тянете из базы 5+кк доков, то тут бы все и закончилось без трату времени. И да на таких объемах toArray и уж тем более вывод в консоль уже будут занимать далеко не нулевое время
это должно делаться запросом к базе
Попробуйте анализировать агрегациями.
об этом же сказано в статье на стаке оверфлов которую я скидывал
Обсуждают сегодня