Pessoal, é o seguinte, tenho um sistema em desenvolvimento, que já 
possui umas 160 tabelas com chave simples, sendo que metade delas a 
chave são string(20), esta chave é string, pois temos a necessidade 
para concatenar informações necessárias, esta chave string seria muito 
importante, hoje até poderia criar uma chave inteira, mas iria me 
dificultar em outras questões, como programação e entendimento 
do "cliente" entender a estrutura da tabela(o cliente terá a 
possibilidade de criar relatórios, preciso q os relacionamentos seje 
facil). 
A questão é que seria muito importante  esta chave, mas não poderia 
perder muito na performance, a diferença de performance seria muito 
grande? teria alguma forma de melhorar a performance, ou na opinião de 
vcs deveriam voltar em todas essas tabelas e rotinas q utilizam estas 
tabelas e alterar a chave para inteiro, lembrando que ainda não foi 
liberado o sistema para o cliente.
Eu e muitos q conheço não usaria chave string, mas gostaria de uma 
explicação mais tecnica, já me falaram de tipos primitivos etc.. mas 
acho q não influenciaria no banco, o que poderia na minha opinião 
influenciar é pelo tamanho do varchar2 ser variável e o integer não, no 
meu caso todas as chaves são inseridas com 20 caracteres...
Ah.. e sempre tenho q utilizar comandos q não são especificos somente 
do oracle, este é um agravante pra mim..

Agradeço desde já a atenção...
Tânia


Responder a