Сначала сокращайте данные на стороне БД: фильтры, нужные колонки, агрегации и подходящие индексы. В Pandas обрабатывайте ограниченные порции и подбирайте типы, не загружая все 50 миллионов строк без необходимости.
При объёме базы до 50 миллионов записей, как вы оптимизировали запросы и обработку данных в Pandas при формировании отчётов?
Сначала сокращайте данные на стороне БД: фильтры, нужные колонки, агрегации и подходящие индексы. В Pandas обрабатывайте ограниченные порции и подбирайте типы, не загружая все 50 миллионов строк без необходимости.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Сначала сокращайте данные на стороне БД: фильтры, нужные колонки, агрегации и подходящие индексы. В Pandas обрабатывайте ограниченные порции и подбирайте типы, не загружая все 50 миллионов строк без необходимости.
Расскажите о фактическом плане SQL, времени выгрузки и пике памяти, а не только об общем размере базы. Часто отчёт можно собрать из агрегатов или предварительно рассчитанных витрин. Для Pandas полезны chunked-чтение, vectorized-операции и отказ от построчного apply, где есть стандартная операция. Если итоговый расчёт всё равно требует больше памяти, рассмотрите другой движок или внешний алгоритм. Оптимизацию подтверждайте корректностью отчёта и замерами.