Ограничьте параллелизм, устраните повторные запросы и перенесите тяжёлую агрегацию ближе к данным; Promise.all сам по себе не ускоряет базы.
Как оптимизировать генерацию отчёта, если через Promise.all выполняется много запросов к нескольким базам данных, включая получение исторических данных?
Ограничьте параллелизм, устраните повторные запросы и перенесите тяжёлую агрегацию ближе к данным; Promise.all сам по себе не ускоряет базы.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Ограничьте параллелизм, устраните повторные запросы и перенесите тяжёлую агрегацию ближе к данным; Promise.all сам по себе не ускоряет базы.
Измерьте медленные запросы, очереди пулов соединений и объём исторических данных. Используйте пакетное чтение, подходящие индексы, кеш или предварительные агрегаты с понятной свежестью. Не запускайте тысячи запросов одновременно. Для большого отчёта подойдёт фоновая задача с прогрессом; согласуйте snapshot или временной срез, чтобы данные разных источников были сопоставимы.