Как оптимизировать SQL запросы из Python?

Senior
279 просмотров
AFK Offer AI

N+1 проблема: for user in users: user.orders — N запросов. Решение: JOIN или IN (...). Batch: INSERT ... VALUES (...), (...), (...) вместо N отдельных INSERT. executemany() или COPY (PostgreSQL). Индексы: EXPLAIN ANALYZE — проверь план. Кеширование: Redis для частых read-only запросов. Prepared statements: asyncpg.prepare() — парсинг один раз. Connection pool: переиспользуй соединения. Pagination: cursor-based вместо OFFSET. Проекция: SELECT нужные столбцы, не SELECT *. ORM: select_related/prefetch_related (Django), joinedload (SQLAlchemy). Raw SQL для сложных запросов.

Следующий вопрос

Что такое Seaborn и чем отличается от Matplotlib?