Execução da consulta
Um SGDB executa um query seguindo o seguinte fluxo:
- consultar os dados da tabela 1
- consultar os dados da tabela 2
- união dos resultados das duas consultas (junção 1)
- consultar os dados da tabela 3
- união da junção 1 com o resultado da consulta na tabela 3;
- repetindo até chegar ao resultado final;

Como aprimorar
Deve ser avaliado:
- operações com alto percentual de consumo;
- operações do tipo SCAN;
- seta muito grossa;
- lookup (bookmark, key, RID);
- sorting.
Operações com alto percentual de custo
Olhando o plano de execução é possível ter noção de quais operações são executadas em uma consulta. Com isso é possível identificar as operações que mais demandam processamento e tomar alguma medida sobre elas.
Operações do tipo SCAN (leituras sequênciais)
Caso a tabela tenha poucos registros um SCAN pode ter uma performance melhor. Mas deve ser avaliado com cuidado se não vale a pena implementar um índice à tabela.
Seta muito grossa
Utilizando um software para verificar o plano de execução da query, é possível visualizar o tamanho do retorno de alguma subconsulta da query.
Para melhorar uma operação com muitos dados (uma seta muito grossa), devemos requisitar menos colunas e adicionar filtros às subquerys. Quanto mais internos forem os filtros de uma consulta, melhor.
Lookup
Sorting
Operações se ordenação são sempre muito custosas. Se puder não usar um
order by
, melhor.