CORRECÇÃO: Optimizador do SQL Server pode subestimar a cardinalidade de intervalo de consultas

Traduções de Artigos Traduções de Artigos
Artigo: 816883 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Erro n.º: 364245 (SQL Server 8.0)
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Optimizador do SQL Server pode não correctamente estimar a cardinalidade de uma expressão se todas as condições seguintes forem verdadeiras:
  • A consulta Especifica duas condições de intervalo diferente, tal como coluna BETWEEN x e y ou de coluna > x.
  • Os predicados intervalo são qualificados com um e condição.
  • Existe um histograma para cada uma das duas colunas, quer tenham origem manual ou automática criar estatísticas ou a partir de um índice que especifica a coluna como a coluna à esquerda.
  • Densidade com várias colunas está disponível para a combinação de duas colunas.
A consulta seguinte é um exemplo de uma consulta que poderão ser afectado por este problema:
SELECT *
FROM    a  
WHERE	 a.[SALESORG] BETWEEN 'B001' AND 'B099'  AND     
	 a.[SOLD_TO] BETWEEN 'B000000001' AND 'B000010000' 
neste exemplo, histogramas tem de existir SALESORG e SOLD_TO e estatísticas devem existir para a combinação de SALESORG e SOLD_TO .

Devido a este erro, o optimizador do SQL Server underestimates normalmente o número de linhas de um predicado tal. Optimizador do SQL Server pode seleccionar um plano que não é eficiente, tal como utilizar um índice procura quando uma verificação do índice é mais apropriada, utilizando uma ordem de associação incorrecta ou conseguir utilizar uma correspondência vista indexada.

Resolução

Informações sobre Service Packs

Para resolver este problema, obtenha o service pack mais recente do Microsoft 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:
290211Como obter o SQL Server 2000 service pack mais recente

Informações sobre a correcção

A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas no formato de universal hora (UTC) coordenada Coordinated. Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário na ferramenta Data e hora no painel de controlo.
Date         Time   Version            Size    File name
--------------------------------------------------------------
27-Mar-2003  02:47  2.4.1.0        11,172,351  Sql2000-kb810185-8.00.0794-enu.exe
Nota Devido a dependências de ficheiros, a correcção mais recente ou funcionalidade que contém estes ficheiros pode também conter ficheiros adicionais.

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".Este problema foi corrigido pela primeira vez no Microsoft SQL Server 2000 Service Pack 4.

Mais Informação

Esta correcção só está activada quando utiliza o sinalizador de rastreamento 9256. Para mais informações sobre como utilizar sinalizadores de rastreio, consulte SQL Server 2000 Books Online.

Propriedades

Artigo: 816883 - Última revisão: 27 de fevereiro de 2014 - Revisão: 10.3
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 2000 Enterprise Edition 64-bit
Palavras-chave: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbqfe kbsqlserv2000presp4fix kbfix kbbug KB816883 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: 816883

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