[firebase-br] Fwd: Campo Chave usando vachar

Jeferson Oliveira jefersonfoliveira em gmail.com
Seg Abr 2 16:16:36 -03 2007


A mensagem enviada cedo retornou sem motivo específico.
Reenviando ...


---------- Forwarded message ----------
From: Jeferson Oliveira <jefersonfoliveira em gmail.com>
Date: 02/04/2007 13:53
Subject: Re: [firebase-br] Campo Chave usando vachar
To: FireBase <lista em firebase.com.br>


Luis Wagner dos Santos escreveu:
> o campo varchar(7)

E quando o tamanho precisar aumentar? Vai atualizar todos os registros
preenchendo com zeros à esquerda? Considerando que na ocasião a tabela
terá em torno de 10 milhões de registros, pense no trabalho que dará.


> uso ele no sistema assim: 0000452
> para o código ficar com zeros a esquerda

Se precisar exibir um valor formatado, sugiro que deixe essa tarefa a
cargo da aplicação. Formatar dados para apresentação não deve ser uma
tarefa do SGBD.

Quando acontecer um acidente (vai acontecer mais cedo ou mais tarde) e
houver a entrada dos seguintes valores na tabela:
0000452
000452
00452
0452
452

como você vai explicar para o seu cliente que o identificador desses
cinco registros não são iguais? Para um usuário esses são números e,
portanto, os zeros à esquerda não devem alterar seu valor, mas para o
banco de dados esses valores são conjuntos de bytes completamente
distintos.


> A perguntá é:
> Isso traz problemas para o banco de dados em termos de performance ?

A busca em texto é mais lenta do que em inteiros. Essa diferença, no
entanto, só é perceptível em grandes volumes de dados.


Espero ter ajudado.


Abraço!
Jeferson Oliveira




Mais detalhes sobre a lista de discussão lista