TGViewer
Типичный программист Типичный программист @tproger · 78.1K subscribers
Post #14935 4.36K
Историю звёзд GitHub собирали за 2500 запросов. Теперь хватает 24

Чтобы построить график популярности React, сервису приходилось выкачать около 251 тысячи пользователей, оставить даты и выбросить имена. Плюс каждый запрос заново пересчитывал все звёзды ради пагинации.

В новом API GitHub возвращаются дневные счётчики. Но одного GROUP BY мало: если сначала сгруппировать всю историю и только потом применить LIMIT, база всё равно сделает лишнюю работу.

Поэтому запрос сначала выбирает индексированный диапазон дат, затем считает звёзды внутри него. Одна страница покрывает до 30 недель; для React вся история укладывается примерно в 24 запроса.

Очень плотная неделя ещё может дать дорогой запрос. И это история оставшихся звёзд: снятые звёзды в исходной модели не сохраняются.
  • 👍 3
  • 👌 3
  • 🏆 2
  • 😎 2
  • ❤ 1
  • 🤔 1
  • 😢 1
  • 🤩 1
  • 🌭 1
  • 🙈 1
  • 🙉 1
More from @tproger
  1. Oct 16, 2026«Повторим запрос один раз» может превратиться в восемь запросов Представьте цепочку A → B…
  2. Oct 16, 2026Баг появлялся в 0,001% случаев. Виноваты оказались два формата одного ответа MySQL-запрос…
  3. Oct 15, 2026Зачем Figma рисует невидимый HTML рядом с холстом На холсте Figma может быть сотня слоёв,…
  4. Oct 14, 2026Python обработал 7,6 ГБ JSON за 0,12 секунды Здесь интересно, куда уходило время. Дэниел Л…
  5. Oct 14, 2026Завтра иду на GoCloud Tech 2026 Кому интересно узнать какие-нибудь подробности с мероприят…
  6. Oct 14, 2026Сортировку ускорили в 26 раз. Общий алгоритм просто знал слишком мало У Axiom разные колон…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →