CORRECÇÃO: Suboptimais plano de execução num UPDATE indirecto para uma vista indexada

Traduções de Artigos Traduções de Artigos
Artigo: 286234 - Ver produtos para os quais este artigo se aplica.
N.º DE BUGS: 236137 (SHILOH_BUGS)
Expandir tudo | Reduzir tudo

Sintomas

Uma actualização para uma tabela subjacente de uma vista indexada pode resultar num plano suboptimal quando na vista indexada contém funções de agregação.

Causa

Linha incorrecta calcula o resultado de uma verificação do índice em vez de um índice de procura ao calcular informações agregadas.

Resolução

Para resolver este problema, obtenha o service pack mais recente do SQL Server 2000. Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
290211INF: How to Obtain the Latest SQL Server 2000 Service Pack

Como contornar

Evite utilizar funções de agregação numa vista indexada.

Ponto Da Situação

A Microsoft confirmou que este é um problema no SQL Server 2000. Este problema foi corrigido pela primeira vez no SQL Server 2000 Service Pack 1.

Mais Informação

Execute o seguinte código para ver o problema. Tenha em atenção que o passo "cálculos escalar" está a efectuar uma procura de índice.
use tempdb
go
IF EXISTS(SELECT * FROM information_schema.views where table_name = 'v1')
  drop view v1
IF EXISTS(SELECT * FROM information_schema.tables where table_name = 't1')
  drop table t1
go

create table t1 (a int, b bigint NOT NULL)

set nocount on
declare @i int
set @i=1
while (@i<100000)
begin
  insert into t1 values (@i,0)
  set @i=@i+1
end
go

SET NUMERIC_ROUNDABORT OFF 
SET ANSI_PADDING,ANSI_WARNINGS,CONCAT_NULL_YIELDS_NULL,ARITHABORT,QUOTED_IDENTIFIER,ANSI_NULLS ON
GO
create view v1 (a,b,c) with schemabinding as select a, sum(b), count_big(*) from dbo.t1 group by a 
go
create unique clustered index i1 on v1(a)
go

set statistics profile on
insert into t1 values (1,1)
set statistics profile off
go
				

Propriedades

Artigo: 286234 - Última revisão: 16 de outubro de 2003 - Revisão: 3.2
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Standard Edition
Palavras-chave: 
kbmt kbbug kbfix kbsqlserv2000sp1fix KB286234 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 286234

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com