---
title: "Database query profiling | Skills We Assign For | Azendo"
description: "Database query profiling — execution plans, N+1 detection, and the Azendo roles assigned for it."
url: "https://azendo.co/skills/database-query-profiling/"
---

[Skills](https://azendo.co/skills/) Observability 

# Database query profiling.

Query profiling identifies which database queries consume the most time or resource, and why — through execution plans, slow query logs and index usage statistics. It is usually where application performance problems actually originate.

## Where Database query profiling fits on a long engagement.

Most application slowness is database slowness. A page taking four seconds is rarely doing four seconds of computation; it is usually waiting on queries, often many more of them than the developer intended. Profiling replaces speculation about that with the execution plan.

The N+1 pattern is the most common and the most invisible in code review. An ORM loop that looks like one operation issues one query per row, which is imperceptible against ten records in development and catastrophic against fifty thousand in production. It is found by looking at query counts, not by reading the code.

## What an assigned team does with Database query profiling.

Query performance degrades with data growth rather than with code changes, which is why it surprises teams. A query that was instant at launch becomes the slowest thing in the system two years later with no commit responsible for it.

Watching that trend continuously rather than reacting to complaints is standing work, assigned under [managed data services](https://azendo.co/services/data-engineering/) where the data layer is the constraint.

## What we use Database query profiling for.

* Finding N+1 patterns Query counts per request examined, which is the only reliable way to see them.
* Indexes justified by plans Execution plans read before adding indexes, so writes are not slowed for no gain.
* Watching degradation with data growth Trends tracked, so a query becoming slow is noticed before it becomes an incident.

## How Database query profiling capacity is assigned.

Query performance is watched as a trend rather than in response to complaints, because it degrades with data growth rather than with commits. That standing attention is part of [how the monthly fee is built](https://azendo.co/pricing/).

## Roles we assign Database query profiling for

* [Performance Test Engineer QA and test automation](https://azendo.co/services/qa-engineering-and-test-automation/performance-test-engineer/)

## Service lines it sits in

* [QA and test automation](https://azendo.co/services/qa-engineering-and-test-automation/)

Capacity is agreed as a committed monthly capacity across a discipline, not per skill.

## Related in observability

* [Datadog — skill we assign for](https://azendo.co/skills/datadog/)
* [New Relic — skill we assign for](https://azendo.co/skills/new-relic/)
* [Grafana — skill we assign for](https://azendo.co/skills/grafana/)
* [APM — skill we assign for](https://azendo.co/skills/apm/)
* [distributed tracing — skill we assign for](https://azendo.co/skills/distributed-tracing/)
* [SLO and error budget design — skill we assign for](https://azendo.co/skills/slo-and-error-budget-design/)
* [Prometheus — skill we assign for](https://azendo.co/skills/prometheus/)
* [OpenTelemetry — skill we assign for](https://azendo.co/skills/opentelemetry/)

## Tell us what your roadmap needs Database query profiling for.

A service delivery manager replies with the disciplines we would assign, the monthly capacity and what the first month looks like.

[All skills we assign for](https://azendo.co/skills/)
