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 для сложных запросов.
Как оптимизировать SQL запросы из Python?
Senior
279 просмотровAFK Offer AI
Что такое Seaborn и чем отличается от Matplotlib?