Přeskočit na obsah
_CORE
AI & agentní systémy Podnikové informační systémy Cloud & Platform Engineering Datová platforma & integrace Bezpečnost & compliance QA, testování & observabilita IoT, automatizace & robotika Mobilní & digitální produkty Bankovnictví & finance Pojišťovnictví Veřejná správa Obrana & bezpečnost Zdravotnictví Energetika & utility Telco & média Průmysl & výroba Logistika & e-commerce Retail & věrnostní programy
Reference Technologie Blog Know-how Nástroje
O nás Spolupráce Kariéra
CS EN DE
Pojďme to probrat

N+1 Problem — detekce a řešení

19. 11. 2025 Aktualizováno: 24. 03. 2026 1 min čtení intermediate

N+1 je nejčastější performance problém s ORM. Místo 1 dotazu pošlete 101 dotazů — a databáze trpí.

Problém

❌ N+1 — 1 + N dotazů

users = User.query.all() # 1 dotaz for user in users: print(user.orders) # N dotazů (1 per user!)

Řešení — eager loading

SQLAlchemy — joinedload

users = session.query(User).options(joinedload(User.orders)).all()

users = User.objects.prefetch_related(‘orders’).all()

Prisma — include

const users = await prisma.user.findMany({ include: { orders: true } });

Detekce

Django — django-debug-toolbar

SQLAlchemy — echo=True nebo sqlalchemy.engine logging

nplusone library (Python)

pip install nplusone

Klíčový takeaway

Eager loading (joinedload, prefetch_related, include). Detekce: debug toolbar, query logging.

databasen+1ormperformance
Sdílet:

CORE SYSTEMS tým

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.