Re: Forced external sort?
От | Tomas Vondra |
---|---|
Тема | Re: Forced external sort? |
Дата | |
Msg-id | 55F539C4.6090902@2ndquadrant.com обсуждение исходный текст |
Ответ на | Re: Forced external sort? (Jeff Janes <jeff.janes@gmail.com>) |
Список | pgsql-general |
On 09/13/2015 01:53 AM, Jeff Janes wrote: > On Fri, Sep 11, 2015 at 11:45 AM, <rolf@winmutt.com > <mailto:rolf@winmutt.com>> wrote: > > I've got a poorly indexed query and was attempting a quick work > around in production by increasing work_mem when it was called. > EXPLAIN ANALYZE is telling me this: > > Sort Method: external sort Disk: 1253824kB > > > So I set the work_mem to 2gb, still going to disk. I read Tom's > suggestion here > (http://www.postgresql.org/message-id/1936.1298394374@sss.pgh.pa.us) > and went all the way up to 92G or work_mem. > > Did more googling and found this reference > (http://www.postgresql.org/message-id/CAMkU=1w2y87NJueqwN8-HK2KDb4UOihFAJXpO1NZ3EkHZvBmmQ@mail.gmail.com) > to a 1G sort limit that is going to be removed in 9.3. > > Am I possibly experiencing the same issue even though I am on 9.3.1? > Was it really not fixed until 9.4? > (http://www.postgresql.org/message-id/557C7213.8000704@joeconway.com) > > > > Only the rounding issue was removed in 9.3 so that it could use the full > 1GB, (rather than getting to 512MB plus a few bytes, and then deciding > it didn't have room to double). The 1G limit itself was not removed > until 9.4. > > Note that these limits were not on the total amount of data being > sorted, but on the size of the array of row headers, and so limits the > number of rows, regardless of the size of the rows. Additional thing to consider is that the two sort methods (in-memory and on-disk) use different representations of the data, and the on-disk is much more compact. It's not uncommon to see 1:3 ratio, i.e. when external (on-disk) sort needs 100MB, the in-memory sort would need 300MB. So when the on-disk sort needs 1253824kB, you'll probably need ~4GB work_mem to actually do that in memory. regards -- Tomas Vondra http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
В списке pgsql-general по дате отправления: