Většina operací je nejrychlejší pro obyčejné integer
, ale rozdíl je velmi malý a obvykle vás při optimalizaci výkonu nejméně znepokojuje.
Velikost úložiště je relevantnější, ale rozdíl mezi různými typy celočíselných čísel je stále velmi malý a často stěží relevantní, někdy se ztrácí kvůli vyplnění a zarovnání. Existují další datové typy, které mohou plýtvat mnohem více místem.
smallint
(int2
) zabírá 2 bajty na disku a v paměti RAM.integer
(int
, int4
) zabírá 4 bajty na disku a v paměti RAM.bigint
(int8
) zabírá 8 bajtů na disku a v paměti RAM.
Podrobnosti pro číselné typy v Postgresu v příručce.
Existují různé další faktory pro skutečnou velikost úložiště. Musíte vzít v úvahu režii stránky a n-tice, zarovnání a odsazení, možné hodnoty NULL, indexování ...
Podrobnosti:
Existuje určitý potenciál pro optimalizaci, ale obvykle ne velký. Nejlepší je soustředit se na výběr vhodného datového typu pro svá data a nestarat se o drobné rozdíly v úložišti a výkonu, pokud přesně nevíte, co děláte.