Boa noite galera, essas últimas semanas vim trabalhando na procedure SP_SHOWINDEX revendo alguns códigos, implementando algumas dicas que foram passada pelo pessoal, melhorando performance e corrigindo alguns gaps, se você ainda não conhece a SP_SHOWINDEX dê uma olhada no link abaixo:
Abaixo um pouco das mudanças, acredito que esta procedure esteja ficando muito boa, esta me ajudando muito nos últimos tempos, sou suspeito de falar então baixa, utiliza e deixa sua opinião ou alguma dica para estarmos sempre melhorando ela.

@IS_DUPLICATE é um parâmetro novo adicionado na versão 2.0 onde quando especificado o valor 1 para esse parâmetro é feito uma varredura em todos os índices afim de encontrar duplicidades, o result set é ordenado pelo nome do índice e suas duplicidades. O que é levado em consideração para retornar o índice duplicado é apenas os campos que compõe o índice e sua ordem na chave, não é levado em consideração o INCLUDE do índice para essa validação.

Nessa atualização foi implementado a busca pelo LIKE, onde você não precisa saber o nome completo da tabela e pode utilizar expressões regulares para filtrar a tabela que deseja dentro do %%.
Expressões regulares no SQL Server https://msdn.microsoft.com/pt-br/library/ms174214.aspx

Na versão 2.0 foi introduzido também o parâmetro @INDEX_NAME onde você pode fazer filtro pelo nome do índice ou parte dele utilizando expressões regulares assim como já citado acima.

Outra novidade foi uma dica deixada nos comentários do post da SP_SHOWINDEX pelo Renato Siqueira. Foi implementado dentro do parâmetro @INDEX_DETAILS para retornar informações sobre particionamento, como podemos ver acima no print, é retornado o ‘partition_scheme’, ‘file_groupname’, ‘funciton_name’ e ‘partitions’ do índice.


Exemplos combinando diversos parâmetros.
Vemos que os parâmetros podem ser flexíveis e temos informações ricas sobre os índices de forma mais fácil e pratica, espero que essa procedure possa ajudar a muitos em seu dia-a-dia.
Algumas coisas estão sendo estudadas para implementar na próxima release, entre elas quero adicionar ‘Indices In-Memory’ e ‘Column Store índices’, estou pensando também em compilar uma versão da SP_SHOWINDEX para SQL Database, aos poucos vamos chegando no objetivo.
Bom galera é isso faça o download da versão 2.0 da SP_SHOWINDEX e avalie a sua usabilidade, não esqueça de deixar sua opinião ou dica, é muito importante para conseguirmos evoluir cada vez mais, até a próxima!
Link para download:
Atualizado em 06/01/2017 18:30 – Corrigido problema com o parâmetro @IS_DUPLICATE.
Reginaldo Silva
Comments