Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nilson15

Limites de registros pelo numero possíveis de id

Recommended Posts

Olá gente, eu sou meio iniciante em bancos de dados, e minha duvida é o que acontece após um tabela de um banco de dados (Como exemplo o PostgreSQL) receber o numero máximo de registros com base no id ou chave primaria? Eu sei que seria necessários muitos registros para isso acontecer mas queria saber o que aconteceria e como prevenir isso, agora que esta tudo no começo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Defina um tamanho grande o sufiente para que isto não aconteça e ponto final.

 

A "economia" nestes casos só trará aborrecimentos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Motta, para id não se usa o bigint ou o próprio int, e os mesmos não possuem um limite máximo de ids diferentes? e a cada registro não se incrementa o numero de registros com + 1 gerando assim uma sequencia ou é possível criar registros com ids com um tamanho grande o bastante como você falou? Eu sei que não tenho muito conhecimento nessa área mas quero muito resolver essa duvida que eu tenho desde quando comecei a trabalhar com bancos de dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O type da coluna chave deve ser escolhido conforme a quantidade prevista de registro que a tabela terá, mascuma BOA folga.

 

Veja o manual para os tipos e seus limites só não tenha uma preocupacão excessiva em economizar bytes na definição da chave.

Compartilhar este post


Link para o post
Compartilhar em outros sites

então o tipo que oferece mais opções é o bigint, mas eu ainda o vejo como limitado, e por exemplo, caso haja 55 registros em uma tabela e 5 sejam pagados, ao criar um novo registro o mesmo não possuirá o id 56 caso o id seja gerado pela incrementação (No caso do MySQL em especifico)? E quando esse contador interno do MySQL chegar ao numero máximo de registros mesmo não havendo tal quantia de registros, o que ocorrerá?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim é uma chave unica, mas sendo uma tabela onde os dados serão recebidos e apagados em grande escala não poderia levar a se esgotar as possibilidades de ids? Por exemplo em um tabela que armazena as informações de emails enviados com link para validar algum processo, os registros seriam inseridos e apagados freqüentemente e em grande escala supondo o grande numero de usuários a utilizar o sistema. Eu sei que parece um questão boba pois o numero de opções oferecidas pelo bigint é imensa mas com um certo tempo se esgotaria e apesar de considerar que tudo é finito, eu sempre me preocupei muito com criar meus sistemas o quanto mais a prova de falhas possível.

Compartilhar este post


Link para o post
Compartilhar em outros sites

18.446.744.073.709.551.615

 

The unsigned range is 0 to 18446744073709551615.

 

Somos 7.000.000.000 devhumanos na Terra ...

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas se caso utilizasse o auto_increment no MySQL por exemplo, não poderia haver o problema se dois duas requisições de inserção de dados gerados ao mesmo tempo por 2 usuários?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.