Re: Column correlation drifts, index ignored again

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Column correlation drifts, index ignored again
Дата
Msg-id 27171.1077660968@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Column correlation drifts, index ignored again  (Kevin Brown <kevin@sysexperts.com>)
Список pgsql-performance
Kevin Brown <kevin@sysexperts.com> writes:
> One problem I've been running into is the merge join spilling to disk
> because sort_mem isn't big enough.  The problem isn't that this is
> happening, it's that I think the planner is underestimating the impact
> that doing this will have on the time the merge join takes.  Does the
> planner even account for the possibility that a sort or join will spill
> to disk?

Yes it does.  I thought it was making a pretty good estimate, actually.
The only obvious hole in the assumptions is

 * The disk traffic is assumed to be half sequential and half random
 * accesses (XXX can't we refine that guess?)

Because of the way that tuplesort.c works, the first merge pass should
be pretty well sequential, but I think the passes after that might be
mostly random from the kernel's viewpoint :-(.  Possibly the I/O cost
should be adjusted depending on how many merge passes we expect.


> In any case, one thing that none of this really accounts for is that
> it's better to set random_page_cost too low than too high.

That depends on what you are doing, although I will concede that a lot
of people are doing things where indexscans should be favored.

            regards, tom lane

В списке pgsql-performance по дате отправления:

Предыдущее
От: Robert Treat
Дата:
Сообщение: Re: [HACKERS] [SQL] Materialized View Summary
Следующее
От: Robert Creager
Дата:
Сообщение: Speed up a function?CREATE TABLE readings ( "when" TIMESTAMP DEFAULT timeofday()::timestamp NOT NULL PRIMARY KEY, "barometer" FLOAT DEFAULT NULL,