ID do artigo: 198625 - Última revisão: sexta-feira, 21 de novembro de 2003 - Revisão: 3.1 INF: Otimizando comparações com números, Integer e outros
SumárioOtimização de tipo de dados com tipos de dados inteiro, decimal e numérico usar algumas regras muito rigorosas. Este artigo explica e esclarece as condições e restrições que o otimizador usa para executar comparações de tipo de dados numérico exato. Revise a seção seguinte para ajudar a esclarecer os termos e conceitos usados neste artigo. " precisão " é o número de dígitos em um número. " escala " é o número de dígitos à direita da vírgula decimal em um número. Por exemplo, o número 123.45 tem uma precisão de 5 e uma escala de 2. Devido às limitações com o binário numeração sistema utilizado pelos computadores, alguns frações decimais simplesmente não pode ser representadas exatamente. Por exemplo, a fração decimal 0,1 não tem uma representação binária exata. Ele só pode ser aproximado. É por esse motivo que valores de dados flutuantes de ponto e real tipos são considerados aproximados; enquanto inteiro, numérico, e tipos de dados decimal são tratados como tipos de dados exato. Os termos " restrita " ou " exata " são chamados em sua definição computacional. Por exemplo, um numeric(10,1) não exatamente 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 exatamente os mesmos. No entanto, devido à diferença em escala, eles não são tratados como uma correspondência exata computacionalmente. Mais InformaçõesPara entender as opções de comparação do otimizador, você deve primeiro compreender a forma de entrada dados são analisados e manipulados.
O otimizador faz uma opção quando ela decide para concluir o plano: é o argumento de entrada 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 devem ser promovidos para o argumento precisão e escala. Isso requer a conversão de dados na coluna e pode resultar em planos que contêm verificações de tabela. Se o valor de argumento é menos preciso do que os dados de coluna, o argumento pode ser promovido a precisão e escala da coluna. Isso geralmente resulta em um plano que pode utilizar um índice ou uma abordagem mais direta para o esforço de recuperação de dados. Para ajudar a esclarecer esse conceito, alguns exemplos são fornecidos a seguir. exemplo 1
Considere o seguinte exemplo: Todos os valores numéricos com escala menor do que 10 e precisão 0 pode ser armazenada como tinyint, smallint ou tipo inteiro, levando 1, 2 e 4 bytes de armazenamento, respectivamente. Por comparação, até mesmo o menor valor numérico levará 5 bytes, com mais armazenamento necessário como aumenta a precisão. A tabela a seguir mostra o mapeamento entre os tipos. Recolher esta tabela
Em adição aos benefícios disponíveis por meio de índices com mais eficiência, você também pode salvar um espaço considerável usando um desses tipos de dados onde for apropriado. SQL Server 7.0 adiciona ALTER TABLE Instruções ALTER COLUMN, que podem ser usadas para alterar dinamicamente o tipo de dados de uma coluna. Em versões anteriores do SQL Server, essa conversão pode ser feita somente por criar uma nova tabela com as definições desejadas e fazer um INSERT SELECT para preencher a tabela. Observe que essa alteração pode exigir a atualizar os disparadores, procedimentos armazenados ou outro código que pode usar variáveis esperando um tipo numérico para a coluna. 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes 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 deste artigo
|






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


Voltar para o início