Re: ENUM type - Mailing list pgsql-advocacy

From Jim C. Nasby
Subject Re: ENUM type
Date
Msg-id 20050727174034.GU26758@decibel.org
Whole thread Raw
In response to Re: ENUM type  (Josh Berkus <josh@agliodbs.com>)
Responses Re: ENUM type
List pgsql-advocacy
On Wed, Jul 27, 2005 at 09:40:27AM -0700, Josh Berkus wrote:
> Chris,
>
> > The varchar primary key idea (which I think is probably the best
> > solution) is certainly normalized, but it is also certainly inefficient
> > disk-wise.
>
> Only if you're real short on RAM.  Tiny lookup tables tend to get cached in
> the shared buffer cache and stay there.  Your only real overhead is if the
> application has dozens of ENUMs in a query, causing the number of joins to
> exceed the number the plannner can plan well.  Otherwise, you're preaching
> false optimization.

The issue isn't the lookup table; the issue is the space (and I/O) in
the main table.

> Overall, I'd say that this is really a waste of time compared to the kind of
> things you *could* be doing to make converting from MySQL easier, like
> updating and maintaining the database conversion scripts, writing substitutes
> for last_insert_id and replace into, or (best of all) writing a detailed
> "PostgreSQL for MySQL Users" guide.  I personally have converted 3 production
> applications from MySQL to PostgreSQL, and encountered two total ENUM columns
> in the process.

Absolutely; somehow that got lost in the thread.

Are the database migration scripts not actively maintained?
--
Jim C. Nasby, Database Consultant               decibel@decibel.org
Give your computer some brain candy! www.distributed.net Team #1828

Windows: "Where do you want to go today?"
Linux: "Where do you want to go tomorrow?"
FreeBSD: "Are you guys coming, or what?"

pgsql-advocacy by date:

Previous
From: "Jim C. Nasby"
Date:
Subject: Re: ENUM type
Next
From: Josh Berkus
Date:
Subject: Re: ENUM type