Re: When does CLUSTER occur? - Mailing list pgsql-general

From Serge Fonville
Subject Re: When does CLUSTER occur?
Date
Msg-id CAOAS_+LS4vstDxg3RRXc-=vfpU3dTz01s5HJ5a4T95Ym+AKQAA@mail.gmail.com
Whole thread Raw
In response to Re: When does CLUSTER occur?  (Igor Neyman <ineyman@perceptron.com>)
List pgsql-general
The data files contain only one active version of every record. Different versions of that same record are maintained in a version store.

Kind regards/met vriendelijke groet,

Serge Fonville

http://www.sergefonville.nl

Convince Microsoft!
They need to add TRUNCATE PARTITION in SQL Server



2012/11/29 Igor Neyman <ineyman@perceptron.com>

From: Mike Christensen [mailto:mike@kitchenpc.com]
Sent: Thursday, November 29, 2012 1:35 PM
To: sthomas@optionshouse.com
Cc: Jeff Janes; Schnabel, Robert D.; pgsql-general@postgresql.org
Subject: Re: When does CLUSTER occur?


On Thu, Nov 29, 2012 at 10:28 AM, Shaun Thomas <sthomas@optionshouse.com> wrote:
On 11/29/2012 12:20 PM, Jeff Janes wrote:
It would maintain an imperfect clustering, but still much better than
current behavior.

I thought about that, too. The "imperfect clustering" made me erase everything I'd written. If the clustering is imperfect, it's not really clustering. It would mean less random reads to restart the seek chain though, so it would be a perceptible gain. But it's still not real clustering until the order is maintained indefinitely.

So far as I know, that simply can't be done with MVCC. Especially on an insert-only table that's clustered on a column unrelated to insert order.


How is this implemented in MS SQL then?  Obviously, MS SQL supports real clustering and has MVCC..

--

The way MVCC implemented in Postgres (not allowing "in place" updates) is obviously complicates things in regards to clustering.

As for MS SQL, here is how it implements clustering:
The index on which the table is clustered actually becomes a "physical holder" (for the lack of better term) of the table, meaning the complete table tuples are stored in the leaf blocks of the index it is clustered on.  There is no other place in the database where they are stored physically.

Regards,
Igor Neyman


--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

pgsql-general by date:

Previous
From: Igor Neyman
Date:
Subject: Re: When does CLUSTER occur?
Next
From: "Kevin Grittner"
Date:
Subject: Re: When does CLUSTER occur?