Re: When does CLUSTER occur?

Поиск
Список
Период
Сортировка
От Serge Fonville
Тема Re: When does CLUSTER occur?
Дата
Msg-id CAOAS_+LS4vstDxg3RRXc-=vfpU3dTz01s5HJ5a4T95Ym+AKQAA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: When does CLUSTER occur?  (Igor Neyman <ineyman@perceptron.com>)
Список 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 по дате отправления:

Предыдущее
От: Igor Neyman
Дата:
Сообщение: Re: When does CLUSTER occur?
Следующее
От: "Kevin Grittner"
Дата:
Сообщение: Re: When does CLUSTER occur?