pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Announce <truthhurts@insightbb.com>
To: pgsql-performance@postgresql.org
Subject: int2 vs int4 in Postgres
Date: Mon, 26 Sep 2005 12:54:05 -0500
Message-ID: <KBEKKNMFLELKGIADDEPEGEOKCAAA.truthhurts@insightbb.com> (raw)

Is there an performance benefit to using int2 (instead of int4) in cases
where i know i will be well within its numeric range? I want to conserve
storage space and gain speed anywhere i can, but i know some apps simply end
up casting 2byte data to 4byte (like Java int/short).

These int2 values will be used in primary and foreign key fields and I know
that i must explicitly use tick marks (ex: where int2_column = '12') in
order to make use of indexes, but my question is IS IT WORTH IT?  IS THERE
ANY REAL GAIN FOR DOING THIS?

An simple scenario would be:

Songs
-------
song_id serial pkey
genre   int2   fkey
title    varchar
...


Genres
-------
genreid int2   pkey
name      varchar
description varchar



I KNOW that I am not going to have anywhere near 32,000+ different genres in
my genre table so why use int4?  Would that squeeze a few more milliseconds
of performance out of a LARGE song table query with a genre lookup?


Thanks,

-Aaron




view thread (6+ messages)  latest in thread

Message-ID: <KBEKKNMFLELKGIADDEPEGEOKCAAA.truthhurts@insightbb.com>
Permalink:  ../KBEKKNMFLELKGIADDEPEGEOKCAAA.truthhurts@insightbb.com/
Also on:    postgresql.org/message-id/KBEKKNMFLELKGIADDEPEGEOKCAAA.truthhurts@insightbb.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: truthhurts@insightbb.com
  Subject: Re: int2 vs int4 in Postgres
  In-Reply-To: <KBEKKNMFLELKGIADDEPEGEOKCAAA.truthhurts@insightbb.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox