Re: index usage in multi-column ORDER BY - Mailing list pgsql-general

From Tom Lane
Subject Re: index usage in multi-column ORDER BY
Date
Msg-id 4737.1120922811@sss.pgh.pa.us
Whole thread Raw
In response to index usage in multi-column ORDER BY  ("Adam Pritchard" <vesper76@gmail.com>)
List pgsql-general
"Adam Pritchard" <vesper76@gmail.com> writes:
> CREATE TABLE t ( c1 INT, c2 INT );
> CREATE INDEX c1_idx ON t(c2);
> CREATE INDEX c2_idx ON t(c2);
> EXPLAIN SELECT * FROM t ORDER BY c1, c2;
> "Sort  (cost=69.83..72.33 rows=1000 width=8)"
> "  Sort Key: c1, c2"
> "  ->  Seq Scan on t  (cost=0.00..20.00 rows=1000 width=8)"

> If we instead use an index on c1, c2:
> CREATE INDEX c1_c2_idx ON t(c1, c2);
> "Index Scan using c1_c2_idx on t  (cost=0.00..52.00 rows=1000 width=8)"

The latter index matches the sort ordering requested by the query;
no single-column index can do so.

            regards, tom lane

pgsql-general by date:

Previous
From: Geert Jansen
Date:
Subject: Re: Transaction isolation levels
Next
From: Tom Lane
Date:
Subject: Re: Transaction isolation levels