From: | Josh Berkus <josh(at)agliodbs(dot)com> |
---|---|
To: | Andrew Sullivan <andrew(at)libertyrms(dot)info>, pgsql-performance(at)postgresql(dot)org |
Subject: | Re: Table Relationships |
Date: | 2003-05-30 19:54:26 |
Message-ID: | 200305301254.26283.josh@agliodbs.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
Andrew,
> Sure, but if performance is an important goal for certain kinds of
> SELECTs, using a trigger at insert or update to do denormalising is
> perhaps an acceptable approach. It's obvious that in most cases,
> denormalising instead of optimising your normalisation is silly. But
> if you need something to return in, say, 2ms most of the time, and it
> requires a wide variety of data, denormalising is a good idea.
I've done this plenty of times ... but what you're talking about is more of a
"materialized view" than denormalized data. The data is still stored in
normal form; it is just distilled for a particular view and saved on disk for
quick reference. This is often a good approach with performance-sensitive,
complex databases.
> It is, of course, contrary to the RDBMS-y mind to denormalise. But
> there are (rare) times when it's a good idea, and I hate to see it
> rejected out of hand in such cases.
There is a big difference between denormalizing normalized data and storing
your data in denormalized (basically flat file) form in the first place.
--
-Josh Berkus
Aglio Database Solutions
San Francisco
From | Date | Subject | |
---|---|---|---|
Next Message | Yusuf | 2003-05-30 20:33:07 | Enabling and Disabling Sequencial Scan |
Previous Message | scott.marlowe | 2003-05-30 19:33:19 | Re: Hardware advice |