Re: UUID index unused

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Kevin Wooten <kdubb(at)me(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: UUID index unused
Date: 2014-11-09 21:12:49
Message-ID: 11699.1415567569@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Kevin Wooten <kdubb(at)me(dot)com> writes:
> I am assuming I am crazy and missing something completely obvious but I cannot get postgres (9.3.5) to use an index on a UUID, ever.

Worksforme:

regression=# create table foo (f1 uuid primary key);
CREATE TABLE
regression=# explain select * from foo where f1 = 'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11';
QUERY PLAN
--------------------------------------------------------------------------
Index Only Scan using foo_pkey on foo (cost=0.15..8.17 rows=1 width=16)
Index Cond: (f1 = 'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11'::uuid)
(2 rows)

> The main table has a natural composite key (2 uuids and a timestamp) with which it always uses the timestamp as the index condition and filters on the UUIDs.

This probably has little to do with the datatype as such, and much to do
with the specifics of your query, the available indexes, and the table's
statistics. It's hard to speculate further without lots more detail
about those things.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2014-11-09 21:24:00 Re: SSL Certificates in Postgres 9.3 and Windows 7
Previous Message Adrian Klaver 2014-11-09 19:19:04 Re: UUID index unused