Чтобы построить историю звёзд репозитория, инструменты выгружали страницы пользователей и оставляли только даты. Для React это требовало примерно 2500 запросов.
В разборе GitHub показано, почему простая замена пользователей дневными счётчиками не решала проблему. База сначала группировала все звёзды, сортировала результат и лишь затем применяла
LIMIT и OFFSET. Маленький JSON всё ещё требовал большой работы.Новый API сначала переводит страницу в диапазон дат по индексу
created_at, затем считает звёзды только внутри него. Один ответ покрывает до 30 недель. Для React полная выгрузка сократилась примерно до 24 запросов.При оптимизации отчётов проверьте, где именно ограничивается выборка: после агрегации или до неё. Размер ответа этого не показывает.
#базыданных #производительность
