N+1 Query
Related service Custom software · everything else
DEFINITION
The classic performance bug: 1 query for a list + N more (one per row). Fix with eager loading / a join. The first thing we look for in a slow endpoint.
- Docker→
We package an app with its dependencies into an image, which runs as a container — identical on your laptop and in production. "Works on my machine" stops being an excuse.
- CI/CD→
Continuous Integration / Delivery: every commit is automatically built, tested and (optionally) deployed. This pipeline lets us ship safely many times a day, without manual mistakes.
- Blue-Green Deployment→
We run two identical environments: blue is live, green is the new version. Once green is verified we flip traffic to it; on trouble we flip back instantly. Zero-downtime releases with instant rollback.
- Horizontal Scaling→
We add more machines/instances (scale out) instead of one bigger box (vertical, scale up). For stateless services this wins: cheaper, more elastic, no ceiling. State goes to a separate store.
- Load Balancer→
Distributes incoming traffic across multiple instances — the front door that gives you redundancy and smooth scaling. Health checks remove dead instances, so one failure stays invisible to users.
- Distributed Tracing→
We follow one request across every service using a trace ID (e.g. OpenTelemetry). In a microservices system this is how we pinpoint which service slowed down or failed — no guessing.
- 0102 Jun 2026PostgreSQL vs MongoDB 2026: which database to pick→
- 0226 Apr 2026Postgres BRIN vs. B-tree · when each wins→
- 0326 Apr 2026Server vs. Client Components in 2026 · the rule we apply→
- 0423 Apr 2026Bun 1.2 in production · what we keep, what we skip→
- 0522 Apr 2026Speculation Rules API in 2026: near-instant nav, zero JS→
- 0622 Apr 2026pgvector at 10M+ rows: index, queries, real numbers→
- 0722 Apr 2026LLM prompt caching in production · a 60-80% cost cut→
- 0814 Feb 2026Core Web Vitals on Next.js: from 4.5s LCP to 0.9s in 3 weeks→