Jah fiz alguns posts sobre performance, talvez seja a hora de criar mais uma categoria… rsrsrs

Vamos ao que interessa… table scan…

O que eh table scan?

Eh quando o SGBD efetua uma instrucao sem utilizar índices.
Para uma tabela com poucos registros nao tem nenhuma diferença… mas para uma tabela com 80.000.000 registros talvez isso seja mais perceptivel.


Por que utilizar índices?

O índice acelera o tempo de acesso a um determinado registro do banco de dados.
Por exemplo um livro, o que é mais rápido… procurar por  um determinado assunto em todas as páginas do livro ou procurar pela página correta no índce. Da mesma forma sao as consultas nos bancos de dados.


Agora que jah sabemos que table scan eh ruim para performance… vamos as boas praticas.


Utilizar indice nas condicoes (where)

Sempre utilizar as colunas do indice nas condicoes seja select, update ou delete.


Nunca utilizar funcoes nas condicoes

Quando temos alguma funcao ou calculo nas condicoes, o SGBD nao utiliza nenhum indice e faz o table scan.

mau exemplo
select *
from pessoa
where year(data_nascimento) = 1980

A próxima dica de performance serah sobre o plano de acesso…😀