Re: Equivalent praxis to CLUSTERED INDEX?

Поиск
Список
Период
Сортировка
Искать
От
Jeremy Dunn
Тема
Re: Equivalent praxis to CLUSTERED INDEX?
Дата
Msg-id
007e01c48c5c$d15f4c60$4f01a8c0@jeremydunn
Ответ на
Список
Дерево обсуждения
Equivalent praxis to CLUSTERED INDEX? Mischa Sandberg <mischa.sandberg@telus.net>
Re: Equivalent praxis to CLUSTERED INDEX? "J. Andrew Rogers" <jrogers@neopolitan.com>
Re: Equivalent praxis to CLUSTERED INDEX? Bruce Momjian <pgman@candle.pha.pa.us>
Re: Equivalent praxis to CLUSTERED INDEX? "J. Andrew Rogers" <jrogers@neopolitan.com>
Re: Equivalent praxis to CLUSTERED INDEX? "Jim C. Nasby" <decibel@decibel.org>
Re: Equivalent praxis to CLUSTERED INDEX? Mischa Sandberg <ischamay.andbergsay@activestateway.com>
Re: Equivalent praxis to CLUSTERED INDEX? Josh Berkus <josh@agliodbs.com>
Re: Equivalent praxis to CLUSTERED INDEX? Mischa Sandberg <ischamay.andbergsay@activestateway.com>
Re: Equivalent praxis to CLUSTERED INDEX? Josh Berkus <josh@agliodbs.com>
Re: Equivalent praxis to CLUSTERED INDEX? Gaetano Mendola <mendola@bigfoot.com>
Re: Equivalent praxis to CLUSTERED INDEX? Christopher Kings-Lynne <chriskl@familyhealth.com.au>
Re: Equivalent praxis to CLUSTERED INDEX? Mischa Sandberg <ischamay.andbergsay@activestateway.com>


> -----Original Message-----
> From: pgsql-performance-owner@postgresql.org 
> [mailto:pgsql-performance-owner@postgresql.org] On Behalf Of 
> Bruce Momjian
> Sent: Friday, August 27, 2004 1:27 PM
> To: Adi Alurkar
> Cc: pgsql-performance@postgresql.org
> Subject: Re: [PERFORM] Equivalent praxis to CLUSTERED INDEX?
> 
> 
> 
> But what is the advantage of non-full pages in Oracle?
> 

One advantage has to do with updates of variable-length columns, e.g.
varchars.

If the block is fully packed with data, an update to a varchar column
that makes the column wider, causes "row-chaining".  This means that a
portion of the row is stored in a different data block, which may be
somewhere completely different in the storage array.  Retrieving that
row (or even just that column from that row) as a unit may now require
additional disk seek(s).

Leaving some space for updates in each data block doesn't prevent this
problem completely, but mitigates it to a certain extent.  If for
instance a row is typically inserted with a null value for a varchar
column, but the application developer knows it will almost always get
updated with some value later on, then leaving a certain percentage of
empty space in each block allocated to that table makes sense.

Conversely, if you know that your data is never going to get updated
(e.g. a data warehousing application), you might specify to pack the
blocks as full as possible.  This makes for the most efficient data
retrieval performance.

- Jeremy

В списке pgsql-performance по дате отправления
От: Bruce Momjian
Дата:
От: Adi Alurkar
Дата:
FAQ