Dica da Semana por Tiago Oliveira - SQL Server filtered indexes

Dica da Semana por Tiago Oliveira - SQL Server filtered indexes

Sabiam que podemos usar um tipo de index especial em SQL Server chamado de filtered index? Permite a criação de indexes sobre parte da informação das tabelas, minimizando o seu tamanho e aumentando a capacidade de execução de queries.

São muito utilizadas quando temos tabelas com muita informação, onde normalmente fazemos bastantes queries com clausulas where especificas.

Por exemplo, temos uma tabela com informação do cliente A e B.

Criamos um index para cada cliente, mantendo cada um dos indexes mais pequeno, incrementando a performance.

Num cenário normal, é criado um index único com toda a informação.

Poderá ser utilizado por exemplo para cenários multi-tenancy numa mesma tabela.

Vantagens de usar filtered indexes:

  • Custos de manutenção reduzidos - as operações de inserção, atualização, exclusão e junção não são tão dispendiosas, pois um index filtrado é menor e não requer tanto tempo para reorganização ou reconstrução.
  • Custo de armazenamento reduzido.
  • Estatísticas mais precisas.
  • Desempenho de query otimizado.

Descubra mais sobre SQL Server filtered indexes no post do Brent Ozar. Clique aqui e tenha uma boa leitura.