SET SHOWPLAN_TEXT
Esse é mais um artigo da série “Saga da otimização com comandos antigos”
- Parte 1: SET STATISTICS IO
- Parte 2: DBCC DROPCLEANBUFFERS
- Parte 3: DBCC SHOWCONTIG
- Parte 4: DBCC PAGE
- Parte 5: sp_spaceused
- Parte 6: DBCC IND
- Parte 7: DBCC INDEXDEFRAG
- Parte 8: DBCC DBREINDEX
- Parte 9: sp_detach_db
No último artigo, falamos do impacto do storage em operações de Table Scan. Agora é hora de resolver rapidamente usando índice.
Criando índices
Primeiro, vamos habilitar um comando antigo chamado SHOWPLAN_TEXT.
Embora haja comandos melhores, o SHOWPLAN_TEXT possui um resultado texto fácil para entender.
Na primeira linha temos o comando original e na segunda, o plano de execução.
A solução para o problema de desempenho é criar um índice.
Agora nosso comando terá um novo plano de execução:
Por que esse plano é melhor? Simples. Basta contar o número de I/O em disco.
Se tivermos latências de 5ms, então a query demora aproximadamente 15ms. Entretanto, se o storage apresentar lentidão e a latência subir para 100ms (muito ruim), a query executa em apenas 300ms (menos que 1 segundo).