sql >> Databasteknik >  >> RDS >> PostgreSQL

Är det någon skillnad i att spara samma värde i olika heltalstyper?

De flesta operationer är snabbast för vanligt integer , men skillnaden är mycket liten och vanligtvis den minsta av dina problem när du optimerar prestanda.

Lagringsstorleken är mer relevant, men skillnaden mellan olika heltalstyper är fortfarande mycket liten och ofta knappast relevant, ibland förlorad på grund av utfyllnad och justering. Det finns andra datatyper som kan slösa mycket mer utrymme.

smallint (int2 ) upptar 2 byte på disk och i RAM.
integer (int , int4 ) upptar 4 byte på disken och i RAM-minnet.
bigint (int8 ) upptar 8 byte på disk och i RAM.

Detaljer för numeriska typer i Postgres i manualen.

Det finns flera andra faktorer för den faktiska lagringsstorleken. Du måste ta hänsyn till sida- och tupeloverhead, justering och utfyllnad, möjliga NULL-värden, indexering ...

Detaljer:

Det finns en viss potential för optimering, men vanligtvis inte mycket. Koncentrera dig bäst på att välja en lämplig datatyp för dina data och oroa dig inte för mindre skillnader i lagring och prestanda, om du inte vet exakt vad du gör.



  1. Nyckelord stöds inte:Metadata

  2. Fel (nära PÅ vid position 25) vid import av tabell för WORDPRESS (Fel med främmande nyckel)

  3. Kolumnantal matchar inte värderäkning på rad 1 VendorError:1136

  4. Hur kan jag gruppera efter datum och tidskolumn utan att ta tid i beaktande