Fórum Pk com letras pode e consequencias ? #58927

03/10/2007

0

Ola, gostaria de saber sobre metodologia e padroes de desenvolvimento de base de dados, tipo se a PK em vez de ser 1 inteiro crescente poderia ser a mistura de letras e numeros ? claro segue a msm regra q nao se repete valores, mais na hora de fazer relacionamentos isso atrapalha o desempenho ? a tabela dever no final uns 3mi de registros ?


Kristian

Kristian

Responder

Posts

04/10/2007

Jpauloss

Ola, gostaria de saber sobre metodologia e padroes de desenvolvimento de base de dados, tipo se a PK em vez de ser 1 inteiro crescente poderia ser a mistura de letras e numeros ? claro segue a msm regra q nao se repete valores, mais na hora de fazer relacionamentos isso atrapalha o desempenho ? a tabela dever no final uns 3mi de registros ?


Tenho um sisteminha rodando a algum tempo num cliente nessa mesma situação está como (PK) VarChar 6.
Não sei se no futuro irá dar algum problema.
Se alguem souber algo posta aí.


Responder

Gostei + 0

04/10/2007

Raserafim

a regra para PK é que o código não se repita em outros registros, ou seja, a ID tem que ser única.

isso significa que você pode sim colocar apenas números, apenas letras, ou misturar números e letras.

mas tem um ponto importante: o desempenho.

além de um caractere de número ocupar menos espaço em memória que um caractere texto, o índice funciona bem melhor com números.

a queda de desempenho talvez não seja tão perceptível com os 3 mil registros que vc falou que utilizaria.

mas, se vai utiliar desta forma, ao menos utilize o Char ao inves do VarChar.

o primeiro é bem mais rápido, pois não tem que gerenciar o tamanho o campo. O Char já pre-estabelece o tamanho.


Responder

Gostei + 0

05/10/2007

Gandalf.nho

Em termos de desempenho, o melhor acho que seria usar campos numéricos mesmo (Integer ou BigInt). Mesmo se você tiver um campo texto que não possa se repetir, crie um campo numérico apenas para servir de PK e atribua um índice que não permita repetição ao campo texto.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar