Visualizações indexadas ao servidor SQL

Visualizações indexadas ao servidor SQL

Uma visualização no SQL Server refere -se a uma consulta armazenada em um catalog de banco de dados para referência futura. As visualizações do SQL Server atuam como tabelas virtuais que não contêm dados reais por si mesmas. Em vez disso, eles armazenam um conjunto de consultas que você pode executar em uma tabela ou outros objetos de banco de dados.

Este guia aprenderá a funcionar visualizações do servidor SQL e visualizações indexadas.

Visualizações do SQL Server: The Basics

Antes de discutirmos como trabalhar com visualizações indexadas, vamos aprender o básico para criar uma visão.

Suponha que você tenha uma declaração selecionada que retorne um conjunto de resultados. Por exemplo:

Use salesdb;
Selecione Top 10 * nas vendas onde quantidade = 1000;

A consulta de exemplo acima retorna os registros em que a quantidade é igual a 1000. Se quisermos usar a mesma consulta e obter um conjunto de resultados semelhante, podemos salvá -lo em um .arquivo SQL e reexune-o quando necessário.

Uma maneira melhor de fazer isso é criar uma visão segurando a consulta acima. Por exemplo, podemos criar uma visualização chamada acima_hhil, como mostrado na consulta mostrada abaixo:

Use salesdb;
IR
Crie view top_th milhares como selecione * a partir de vendas onde quantidade> 1000;

Depois de termos a consulta como vista, podemos reutilizá -la como:

..
IR
Selecione * de top_th milhares;

A consulta deve retornar o conjunto de resultados como:

No SQL Server Management Studio, você pode visualizar as visualizações armazenadas em uma tabela navegando para:

Banco de dados -> Seu banco de dados de destino -> Tabelas -> Visualizações

Existem várias razões para usar as visualizações no SQL Server. No entanto, os principais incluem segurança e consistência.

Para excluir uma visualização de uma tabela, você pode usar a consulta Excluir View como mostrado:

Abasteça a vista se existe Top_Thils;

Visualizações indexadas ao servidor SQL

Como mencionado, uma visualização normal do SQL Server não mantém dados por si só. Ele mantém um conjunto de consultas que produzem um conjunto de resultados específico. Isso ajuda a fornecer segurança e consistência. No entanto, uma visão não fornece nenhuma melhoria de desempenho no conjunto de resultados.

É aí que as visualizações indexadas entram em jogo.

As visualizações indexadas são como uma tabela de banco de dados normal porque podem armazenar dados fisicamente. Esta pode ser uma ótima ferramenta que pode ajudar a melhorar o desempenho de uma consulta.

Vamos discutir a criação de trabalho com visualizações indexadas no SQL Server.

Como criar uma visão indexada?

Existem duas etapas principais ao criar uma visualização indexada no SQL Server:

  1. Crie uma visão com um parâmetro de ligação ao esquema.
  2. Em seguida, crie um índice agrupado na visualização para materializá -lo.

Vamos dar um exemplo para entender como usar uma visão indexada.

Considere a consulta de exemplo abaixo que criou uma visão indexada na tabela de vendas.

Crie visualização Sales_indexed com esquemas como vendas selecionadas.Salesid, vendas.ProductId, vendas.CustomerID da DBO.Vendas onde quantidade> 1000;
IR

Você notará algumas coisas diferentes de uma visão típica. Primeiro, incluímos a opção com schemabindig.

Esta opção garante que você não possa alterar a estrutura das tabelas em um formato que afeta a visão materializada subjacente, a menos que você solte a visão existente.

Segundo, a nomeação inclui um formato de duas partes. O SQL Server exige que você defina o esquema.objeto ao criar uma visualização indexada (no mesmo banco de dados).

DICA: Lembre -se de que o SQL Server atualizará aplicar alterações feitas nas tabelas subjacentes à visualização indexada. Isso leva a escrever sobrecarga para as tabelas referenciadas.

Depois que a visualização é criada, precisamos criar um índice agrupado. Podemos criar um índice como:

Crie Índice Clowed My_index exclusivo no DBO.Sales_indexed (SalesId);

A consulta acima deve criar um índice agrupado na visualização. No SSMS, você pode visualizar o índice em cluster como:

Depois de termos o índice em cluster, podemos consultar os dados como:

Selecione * do DBO.sales_indexed;

O SQL Server usa a visualização Sales_indexed, em vez de consultar as tabelas reais.

Conclusão

Neste artigo, você aprendeu a criar e usar visualizações indexadas no SQL Server, permitindo que você crie uma visualização materializada.