Re: pgsql-server/src/backend/utils/sort tuplesort.c - Mailing list pgsql-committers

From Bruce Momjian
Subject Re: pgsql-server/src/backend/utils/sort tuplesort.c
Date
Msg-id 200403172231.i2HMVun00293@candle.pha.pa.us
Whole thread Raw
In response to pgsql-server/src/backend/utils/sort tuplesort.c  (tgl@svr1.postgresql.org (Tom Lane))
Responses Re: pgsql-server/src/backend/utils/sort tuplesort.c  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-committers
Tom Lane wrote:
> CVSROOT:    /cvsroot
> Module name:    pgsql-server
> Changes by:    tgl@svr1.postgresql.org    04/03/17 18:24:58
>
> Modified files:
>     src/backend/utils/sort: tuplesort.c
>
> Log message:
>     During btree index build, sort equal-keyed tuples according to their
>     TID (heap position).  This doesn't do anything to the validity of the
>     finished index, but by pretending to qsort() that there are no really
>     equal keys in the sort, we can avoid performance problems with qsort
>     implementations that have trouble with large numbers of equal keys.
>     Patch from Manfred Koizar.

I think there is also the advantage that many equal keys will access the
heap in a more sequential, rather than random, order, which is the part
that really excited me.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

pgsql-committers by date:

Previous
From: momjian@svr1.postgresql.org (Bruce Momjian)
Date:
Subject: pgsql-server/doc TODO
Next
From: Tom Lane
Date:
Subject: Re: pgsql-server/src/backend/utils/sort tuplesort.c