PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Existe alguma diferença em salvar o mesmo valor em diferentes tipos inteiros?


A maioria das operações é mais rápida para integer simples , mas a diferença é muito pequena e normalmente a menor de suas preocupações ao otimizar o desempenho.

O tamanho do armazenamento é mais relevante, mas a diferença entre vários tipos inteiros ainda é muito pequena e geralmente pouco relevante, às vezes perdida para preenchimento e alinhamento. Existem outros tipos de dados que podem desperdiçar muito mais espaço.

smallint (int2 ) ocupa 2 bytes no disco e na RAM.
integer (int , int4 ) ocupa 4 bytes no disco e na RAM.
bigint (int8 ) ocupa 8 bytes no disco e na RAM.

Detalhes para tipos numéricos no Postgres no manual.

Existem vários outros fatores para o tamanho real do armazenamento. Você deve considerar a sobrecarga de página e tupla, alinhamento e preenchimento, possíveis valores NULL, indexação ...

Detalhes:

Há algum potencial para otimizar, mas normalmente não muito. Concentre-se em escolher um tipo de dados apropriado para seus dados e não se preocupe com pequenas diferenças de armazenamento e desempenho, a menos que você saiba exatamente o que está fazendo.