Re: Null integer columns - Mailing list pgsql-performance

From Tom Lane
Subject Re: Null integer columns
Date
Msg-id 8512.1105221349@sss.pgh.pa.us
Whole thread Raw
In response to Null integer columns  (Jeffrey Tenny <jeffrey.tenny@comcast.net>)
List pgsql-performance
Jeffrey Tenny <jeffrey.tenny@comcast.net> writes:
> What are the performance tradeoffs (storage space, query speed) of using
> a NULL enabled column versus a NOT-NULL column with a sentinel integer
> value?
> Not that it matters, but in the event where the column values matter,
> the numberic value is a foreign key.  Advice on that welcome too.

In that case you want to use NULL, because the foreign key mechanism
will understand that there's no reference implied.  With a sentinel
value you'd have to have a dummy row in the master table --- which will
cause you enough semantic headaches that you don't want to go there.

The performance difference could go either way depending on a lot of
other details, but it will be insignificant in any case.  Don't screw up
your database semantics for it.

            regards, tom lane

pgsql-performance by date:

Previous
From: Jeffrey Tenny
Date:
Subject: Null integer columns
Next
From: "Guenzl, Martin"
Date:
Subject: Help with EXPLAIN ANALYZE runtimes