---
title: "Query optimisation | Skills We Assign For | Azendo"
description: "SQL query optimisation — execution plans, indexing and rewriting, plus the Azendo roles assigned for it."
url: "https://azendo.co/skills/query-optimisation/"
---

[Skills](https://azendo.co/skills/) Data stores and query 

# Query optimisation.

Query optimisation is making a query return the same result using less time or resource, through indexing, rewriting, restructuring or changing the physical design it runs against. It starts by reading the execution plan.

## Where Query optimisation fits on a long engagement.

Optimisation without a plan is guessing. The execution plan says whether the engine scanned or sought, where the row estimates diverged from reality, and which step actually consumed the time. Most optimisation effort spent without reading one is spent on the wrong part of the query.

Indexes are the first tool and the most over-applied. Every index accelerates reads and slows writes, and a table with fifteen indexes has a write cost nobody accounted for. The right number is the smallest set that serves the queries that matter, which requires knowing which those are.

## What an assigned team does with Query optimisation.

The most valuable optimisation is often not optimisation. A query that is slow because it returns fifty thousand rows to a page showing twenty needs pagination, not an index; one recomputing the same aggregate hourly needs a materialised result.

Recognising that requires understanding what the query is for, which is product knowledge rather than database knowledge, and it accumulates in a standing assignment described in [how an assignment runs](https://azendo.co/how-it-works/).

## What we use Query optimisation for.

* Plans read before changes are made Effort directed at the step that costs, rather than the line that looks suspicious.
* Index sets kept minimal The smallest set serving real queries, so write cost stays proportionate.
* Questioning the query itself Pagination or materialisation where the query should not be running as written.

## How Query optimisation capacity is assigned.

Query work is assigned inside the discipline that owns the data layer, under [managed data services](https://azendo.co/services/data-engineering/) where the database is the constraint.

## Roles we assign Query optimisation for

* [Database Administrator Data engineering](https://azendo.co/services/data-engineering/database-administrator/)

## Service lines it sits in

* [Data engineering](https://azendo.co/services/data-engineering/)

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

## Related in data stores and query

* [SQL — skill we assign for](https://azendo.co/skills/sql/)
* [PostgreSQL — skill we assign for](https://azendo.co/skills/postgresql/)
* [MySQL — skill we assign for](https://azendo.co/skills/mysql/)
* [MongoDB — skill we assign for](https://azendo.co/skills/mongodb/)
* [Snowflake — skill we assign for](https://azendo.co/skills/snowflake/)
* [BigQuery — skill we assign for](https://azendo.co/skills/bigquery/)
* [Redis — skill we assign for](https://azendo.co/skills/redis/)
* [Prisma — skill we assign for](https://azendo.co/skills/prisma/)

## Tell us what your roadmap needs Query optimisation 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/)
