Crie índice em cluster no SQL Server

Crie índice em cluster no SQL Server
Os índices desempenham um papel crítico nos bancos de dados. Eles atuam como índices em um livro, permitindo que você pesquise e localize vários itens e tópicos em um livro. Os índices em um banco de dados têm desempenho semelhante e ajudam a acelerar a velocidade de pesquisa para registros armazenados em um banco de dados. Criar índice em cluster no SQL Server é explicado neste artigo.

Os índices desempenham um papel crítico nos bancos de dados. Eles atuam como índices em um livro, permitindo que você pesquise e localize vários itens e tópicos em um livro. Os índices em um banco de dados têm desempenho semelhante e ajudam a acelerar a velocidade de pesquisa para registros armazenados em um banco de dados.

Os índices clusterados são um dos tipos de índice no servidor SQL. É usado para definir a ordem sob a qual os dados são armazenados em uma tabela. Funciona classificando os registros em uma tabela e depois armazenando -os.

Neste tutorial, você aprenderá sobre os índices em cluster em uma tabela e como definir um índice em cluster no SQL Server.

Índices agrupados do SQL Server

Antes de entendermos como criar um índice agrupado no SQL Server, vamos aprender como os índices funcionam.

Considere a consulta de exemplo abaixo para criar uma tabela usando uma estrutura básica.

Criar banco de dados product_inventory;
Use product_inventory;
Crie inventário de tabela (
id não nulo,
Product_name Varchar (255),
Preço int,
Quantidade int
);

Em seguida, insira alguns dados de amostra na tabela, conforme mostrado na consulta abaixo:

Insira no inventário (ID, Product_name, Price, Quantity) valores
(1, 'Smart Watch', 110.99, 5),
(2, 'MacBook Pro', 2500.00, 10),
(3, 'Casacos de inverno', 657.95, 2),
(4, 'Desk Office', 800.20, 7),
(5, 'Iron de solda', 56.10, 3),
(6, 'Tripod', 8.95, 8);

A tabela de exemplo acima não possui uma restrição de chave primária definida em suas colunas. Portanto, o SQL Server armazena os registros em uma estrutura não ordenada. Esta estrutura é conhecida como uma pilha.

Suponha que você precise executar uma consulta para localizar uma linha específica na tabela? Nesse caso, forçará o SQL Server a digitalizar toda a tabela para localizar o registro correspondente.

Por exemplo, considere a consulta.

Selecione * no inventário onde quantidade = 8;

Se você usar o plano de execução estimado no SSMS, notará a consulta digitaliza a tabela inteira para localizar um único registro.

Embora o desempenho seja dificilmente perceptível em um pequeno banco de dados como o acima, em um banco de dados com um número enorme de registros, a consulta pode demorar mais tempo para concluir.

Uma maneira de resolver esse caso é usar um índice. Existem vários tipos de índices no SQL Server. No entanto, focaremos principalmente em índices em cluster.

Como mencionado, um índice agrupado armazena os dados em um formato classificado. Uma tabela pode ter um índice em cluster, pois só podemos classificar os dados em uma ordem lógica.

Um índice em cluster usa estruturas de árvore B para organizar e classificar os dados. Isso permite que você realize inserções, atualizações, exclusão e mais operações.

Aviso no exemplo anterior; A tabela não tinha uma chave primária. Portanto, o SQL Server não cria nenhum índice.

No entanto, se você criar uma tabela com uma restrição de chave primária, o SQL Server cria automaticamente um índice agrupado da coluna de chave primária.

Observe o que acontece quando criamos a tabela com uma restrição de chave primária.

Crie inventário de tabela (
Id int não é uma chave primária nula,
Product_name Varchar (255),
Preço int,
Quantidade int
);

Se você executar novamente a consulta selecionada e usar o plano de execução estimado, verá que a consulta usa um índice em cluster como:

Selecione * no inventário onde quantidade = 8;

No SQL Server Management Studio, você pode visualizar os índices disponíveis para uma tabela expandindo o grupo Indexes, como mostrado:

O que acontece quando você adiciona uma restrição de chave primária a uma tabela que contém um índice agrupado? O SQL Server aplicará a restrição em um índice não agrupado em esse cenário.

SQL Server Create Index Clustered

Você pode criar um índice em cluster usando a instrução CREATE CLUERSED INDEX no SQL Server. Isso é usado principalmente quando a tabela de destino não tem uma restrição de chave primária.

Por exemplo, considere a tabela a seguir.

Soltar a tabela se existir inventário;
Crie inventário de tabela (
id não nulo,
Product_name Varchar (255),
Preço int,
Quantidade int
);

Como a tabela não possui uma chave primária, podemos criar um índice em cluster manualmente, conforme mostrado na consulta abaixo:

Criar índice clustered id_index no inventário (ID);

A consulta acima cria um índice em cluster com o nome ID_Index na tabela do inventário usando a coluna ID.

Se navegarmos por índices no SSMS, devemos ver o id_index como:

Embrulhar!

Neste guia, exploramos o conceito de índices e índices agrupados no SQL Server. Também abordamos como criar uma chave em cluster em uma tabela de banco de dados.

Obrigado pela leitura e fique atento para mais tutoriais do SQL Server.