Qual a diferença entre um índice clustered e um índice nonclustered?

preview_player
Показать описание
Nesse vídeo o Fabrício Lima explicou de forma muito didática o que é um índice clustered.

No caso do ERP Protheus o índice clustered é a coluna R_E_C_N_O_.

Dessa forma, no protheus temos uma arvore B organizada por essa coluna RECNO. Dessa forma, o sql server consegue descer nessa árvores do índice clustered e encontrar 1 recno de forma MUITO rápida.

Nessa árvore temos os níveis Root, Intermediários e o Nível Folha ( Leaf Level).

Em seguida, também foi explicado o que seria um índice nonclustered no SQL Server.

Esse é o tipo de índice que criamos para as outras colunas da tabela que precisam ser indexadas.

No SQL Server só podemos ter 1 índice clustered e vários índices nonclustered.

Então se sua tabela precisa de uma busca rápida por outras colunas como o nome, data, código, documento e etc... Certamente você vai precisar de um índice por essa coluna.

Uma coisa que você não faz, mas o SQL Server faz para você é incluir o índice clustered em TODOS os seus índices nonclustered.

No caso do Protheus, todo índice nonclustered também tem o RECNO. O SQL Server faz isso para que ele consiga chegar no seu índice clustered com esse valor e encontrar o resto das colunas dessa linha do índice nonclustered que foi buscado.

Vídeo sensacional e sucesso de público pelos treinamentos já registrados.

Esse vídeo faz parte de um Treinamento do Fabrício Lima chamado: Melhorando a Performance de Consultas no Totvs Protheus

Caso tenha interesse em aprender muito mais, esse é o link do curso:
Рекомендации по теме
Комментарии
Автор

Não deixe de conferir os cursos da plataforma da Power Tuning.

Site: cursos.powertuning.com.br

Caso precise de ajuda na sua empresa para projetos de DBA ou de BI na plataforma de dados da Microsoft, entre em contato com nosso time.

PowerTuningData