Sort performance

From: "Subbiah Stalin-XCGF84" <SSubbiah(at)Motorola(dot)com>
To: <pgsql-performance(at)postgresql(dot)org>
Subject: Sort performance
Date: 2009-01-29 20:15:01
Message-ID: BF8D37611DA14544B3A47B8FF0559446030BFCA7@ct11exm61.ds.mot.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Hi All,

I'm in the process of tuning a query that does a sort on a huge dataset.
With work_mem set to 2M, i see the sort operation spilling to disk
writing upto 430MB and then return the first 500 rows. Our query is of
the sort

select co1, col2... from table where col1 like 'aa%' order col1 limit
500; It took 561Secs to complete. Looking at the execution plan 95% of
the time is spent on sort vs seq scan on the table.

Now if set the work_mem to 500MB (i did this in a psql session without
making it global) and ran the same query. One would think the sort
operations would happen in memory and not spill to disk but i still see
430MB written to disk however, the query complete time dropped down to
351Secs. So work_mem did have an impact but wondering why its still
writing to disk when it can all do it memory.

I appreciate if anyone can shed some light on this.

Thanks,
Stalin

Env: Sol 10, Pg 827 64bit.

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message henk de wit 2009-01-29 20:21:30 Using multiple cores for index creation?
Previous Message Robert Haas 2009-01-29 20:10:01 Re: Max on union