Re: UUIDs & Clustered Indexes - Mailing list pgsql-general

From Tom Lane
Subject Re: UUIDs & Clustered Indexes
Date
Msg-id 30034.1472566554@sss.pgh.pa.us
Whole thread Raw
In response to UUIDs & Clustered Indexes  (Luke Gordon <gordysc@gmail.com>)
Responses Re: UUIDs & Clustered Indexes  (Luke Gordon <gordysc@gmail.com>)
Re: UUIDs & Clustered Indexes  ("Mike Sofen" <msofen@runbox.com>)
List pgsql-general
Luke Gordon <gordysc@gmail.com> writes:
> However, according to a message on this mailing list, Postgres doesn't have
> clustered indexes:
> "But Postgres doesn't _have_ clustered indexes, so that article doesn't
> apply at all. The other authors appear to have missed this important point."
> https://www.postgresql.org/message-id/56798352.7060902%40uchicago.edu

> But, doing a quick check, it appears Postgres does indeed have a mechanism
> for a clustered index:
> https://www.postgresql.org/docs/9.5/static/sql-cluster.html

CLUSTER just does a one-time sort to put the table into index order.
There is no mechanism that would cause subsequent insertions of new keys
to respect that ordering, so it's pretty much irrelevant to the argument
about whether new UUID keys need to be generated in some ordered fashion.

Do you actually *need* UUID keys, and if so why?  A plain old bigint
column is smaller, cheaper to index, and the natural mechanism for
generating it (ie a sequence) will tend to preserve ordering for free.

            regards, tom lane


pgsql-general by date:

Previous
From: Luke Gordon
Date:
Subject: UUIDs & Clustered Indexes
Next
From: Melvin Davidson
Date:
Subject: Re: UUIDs & Clustered Indexes