sql >> Database >  >> RDS >> PostgreSQL

Is er een verschil in het opslaan van dezelfde waarde in verschillende typen gehele getallen?

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.



  1. MySQL:zoek naar dezelfde string in meerdere kolommen

  2. Bewaar procedures in phpMyAdmin

  3. php/mysql-account activeren

  4. MYSQL-database-optimalisatie met behulp van indexering