Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

mysql , bigint ou decimal para armazenar valores> 32 bits, mas menos de 64 bits


Na minha opinião, bigint seria melhor. Ele é armazenado como um inteiro que o MySQL entenderá nativamente sem nenhuma conversão necessária e, portanto, (eu imagino) será mais rápido na manipulação. Você deve, portanto, esperar que o MySQL seja um pouco mais eficiente se você usar bigint.

De acordo com esta página de manual , os primeiros 9 dígitos do seu número serão armazenados em um bloco de quatro bytes e os dígitos restantes (você precisa de até 12) serão armazenados em um bloco de dois bytes. Isso significa que sua coluna ocupa 6 bytes por linha, em oposição a 8 bytes para bigint. Eu sugiro que, a menos que a) você vá armazenar um número realmente obsceno de linhas, de modo que o espaço ocupado seja uma preocupação séria, e b) você precise consultar muito pouco os dados em questão, você deve vá com bigint.