Artigo: 198625 - Última revisão: sexta-feira, 21 de Novembro de 2003 - Revisão: 3.1 INF: Optimizar comparações com numéricos, número inteiro e outros
SumárioOptimização de tipo de dados com tipos de dados número inteiro, decimal e numérico utilizar algumas regras muito restritas. Este artigo explica e clarifica as condições e restrições que o Optimizador utiliza para efectuar comparações de tipo de dados numérico exacto. Consulte a secção seguinte para ajudar a clarificar os termos e conceitos utilizados neste artigo. " precisão " é o número de dígitos num número. " escala " é o número de dígitos à direita da vírgula decimal num número. Por exemplo, o número 123.45 tem uma precisão de 5 e escala de 2. Devido a limitações pelo ficheiro binário numeração utilizado pelos computadores de sistema, algumas fracções decimais simplesmente não pode ser representadas exactamente. Por exemplo, a fracção decimal 0,1 não tem uma representação binária exacta. Só podem ser aproximada. É por este motivo que flutuante ponto e real dados tipos são considerados aproximados valores; enquanto que inteiro, numérico e tipos de dados decimal são tratados como tipos de dados exacto. Os termos " strict " ou " exacta " são referidas na respectiva definição utilizaria. Por exemplo, um numeric(10,1) vai não exactamente ou estritamente comparar com um numeric(10,2) mesmo se os números envolvidos forem matematicamente equivalentes. Matematicamente, um valor de 10.1 e 10.10 são exactamente iguais. No entanto, devido à diferença na escala, não são tratados como uma correspondência exacta computationally. Mais InformaçãoPara compreender comparação opções o optimizador, deve primeiro compreender a forma de receber dados são analisados e processados.
O optimizador faz uma opção quando decidir concluir o planeamento: é o argumento receber mais ou menos preciso do que a definição da tabela? Se o valor do argumento é mais preciso do que os dados de coluna, os dados da coluna tem ser promovidos para o argumento precisão e escala. Isto requer a conversão de dados na coluna e pode resultar em planos que contêm análises de tabela. Se o valor do argumento é menos preciso do que os dados de coluna, o argumento pode ser promovido para a precisão e escala da coluna. Normalmente, isto resulta num plano que pode utilizar um índice ou uma abordagem mais directa para o esforço de obtenção de dados. Para ajudar a clarificar este conceito, alguns exemplos são fornecidos abaixo. exemplo 1
Tenha em consideração o seguinte como exemplo: Todos os valores numéricos com escala inferior a 10 e precisão 0 pode ser armazenado como tinyint, smallint ou tipo de número inteiro, tomar 1, 2 e 4 bytes de armazenamento, respectivamente. Por comparação, mesmo o menor valor numérico irá demorar 5 bytes, com mais armazenamento necessário como aumenta a precisão. A tabela seguinte mostra o mapeamento entre os tipos. Reduzir esta tabela
Juntamente com os benefícios disponíveis ao utilizar mais eficientemente índices, também poderá guardar espaço considerável, utilizando um destes tipos de dados onde adequado. SQL Server 7.0 adiciona ALTER TABLE Instruções ALTER COLUMN, que podem ser utilizadas para alterar dinamicamente o tipo de dados de uma coluna. Em versões anteriores do SQL Server, esta conversão pode ser efectuado apenas por criar uma nova tabela com as definições pretendidas e efectuar um INSERT SELECT para preencher a tabela. Tenha em atenção que esta alteração pode requerer que actualize todos os accionadores, procedimentos armazenados ou outro código que pode utilizar variáveis de espera a coluna apresente um tipo numérico. A informação contida neste artigo aplica-se a:
Tradução automáticaIMPORTANTE: 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: 198625
(http://support.microsoft.com/kb/198625/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesObtenha Ajuda AgoraTraduções de Artigos
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Voltar ao topo