De meeste bewerkingen zijn het snelst voor gewoon integer
, maar het verschil is erg klein en meestal de minste van uw zorgen bij het optimaliseren van de prestaties.
Opslaggrootte is relevanter, maar het verschil tussen verschillende integer-typen is nog steeds erg klein en vaak nauwelijks relevant, soms verloren door opvulling en uitlijning. Er zijn andere gegevenstypen die veel meer ruimte kunnen verspillen.
smallint
(int2
) neemt 2 bytes in beslag op schijf en in RAM.integer
(int
, int4
) neemt 4 bytes in beslag op schijf en in RAM.bigint
(int8
) neemt 8 bytes in beslag op schijf en in RAM.
Details voor numerieke typen in Postgres in de handleiding.
Er zijn verschillende andere factoren voor de werkelijke opslaggrootte. U moet rekening houden met overhead voor pagina's en tuple, uitlijning en opvulling, mogelijke NULL-waarden, indexering ...
Details:
Er is enig potentieel voor optimalisatie, maar meestal niet veel. Concentreer u het beste op het kiezen van een geschikt gegevenstype voor uw gegevens en maak u geen zorgen over kleine verschillen in opslag en prestaties, tenzij u precies weet wat u doet.