<?xml version='1.0' encoding='UTF-8'?>
<elementos_gw>
  <documento>
    <id>934</id>
    <autor>5</autor>
    <nome>INT x BIGINT (ou INT64) e limites</nome>
    <nome_facil>int x bigint ou int64 e limites</nome_facil>
    <criacao>2011-01-20 22:51:44</criacao>
    <alteracao>2011-01-20 23:27:38</alteracao>
    <texto>Estava pensando em criar uma tabela que poderia ter muitos registros, possivelmente mais que 2 bilhões - o tamanho do tipo INT no MySQL. Minha opção era usar o tipo BIGINT (de 64 bits), cujo máximo é um número tão absurdamente grande (9*10^^18^^) que é, para todos os efeitos, inatingível.

Eu poderia deixar os campos com o tipo INT e depois alterá-los para BIGINT quando necessário, mas isso poderia gerar problemas na fase de conversão; então preferi usar o tipo BIGINT desde o começo.

No entanto, lendo hoje sobre [http://www.codefutures.com/database-sharding/ Database Sharding], aprendi que bases muito grandes costumam ser divididas para melhorar a performance. Aí me caiu a ficha de que, na prática, eu nunca teria uma tabela com 2 bilhões de registros. Isso é mais do que o meu servidor de hospedagem oferece no plano mais caro. Levando em conta que cada registro teria mais de cem bytes, isso supera o tamanho do disco onde meu site está hospedado. De qualquer forma, uma tabela muito grande precisa ser particionada para permanecer útil.

Felizmente estou aprendendo essas coisas antes de começar a implementar. E vou usar o tipo INT. :-)

</texto>
    <publico>1</publico>
    <original>0</original>
    <anterior>0</anterior>
    <versao>0</versao>
    <traducao>0</traducao>
    <propriedade>
      <nome>área</nome>
      <valor>informática</valor>
      <publico>1</publico>
    </propriedade>
    <propriedade>
      <nome>assunto</nome>
      <valor>limites</valor>
      <publico>1</publico>
    </propriedade>
    <propriedade>
      <nome>assunto</nome>
      <valor>sql</valor>
      <publico>1</publico>
    </propriedade>
    <propriedade>
      <nome>categ</nome>
      <valor>list</valor>
      <publico>1</publico>
    </propriedade>
    <propriedade>
      <nome>categ</nome>
      <valor>opiniões</valor>
      <publico>1</publico>
    </propriedade>
  </documento>
</elementos_gw>
