/ / As exibições indexadas estão reduzindo o acesso de gravação a uma tabela? - sql-server-2008

As exibições indexadas estão reduzindo o acesso de gravação a uma tabela? - sql-server-2008

Eu tenho visão de índice criar uma visão em Table1 e Table2 e ID é o cluster em Table1

create view VwTestView
with schemabinding
as
Select t1.ID,t1.col1,t1.col2,t2.col1,t2.col2 from from Table1 t1
join Table2 t2 on (t1.ID=t2.ID)
go
create unique clustered index VwIX_ID on VwTestView (ID)

Minha pergunta é, é o índice VwIX_ID em uma visão VwTestView irá retardar o insert / update / delete na tabela1 ou table2

Respostas:

1 para resposta № 1

É um trabalho extra para o mecanismo de banco de dados manter a exibição indexada. Há um impacto, mas você teria que medir em seu sistema para ver o aumento do trabalho (por exemplo, através de colunas de CPU e Gravação do SQL profiler)

A menos que você tenha grandes volumes de gravação, isso não importa, porque você provavelmente ganhará muito mais com leituras E se eles usam a exibição indexada. O otimizador pode ignorar a visão indexada, é claro, a menos que você use o NOEXPAND, que é necessário na edição padrão e, obviamente, requer testes em contrário.


0 para resposta № 2

Sim, haverá um impacto marginal em ambas as tabelas, para todas as instruções de inserção / atualização / exclusão. Assim como há um impacto ao adicionar um índice a qualquer tabela. Você não recebe nenhuma operação de indexação de graça ".