Re: Why is sorting on two columns so slower thansortingon one column?

Поиск
Список
Период
Сортировка
От Simon Riggs
Тема Re: Why is sorting on two columns so slower thansortingon one column?
Дата
Msg-id 1293440316.1193.61988.camel@ebony
обсуждение исходный текст
Ответ на Re: Why is sorting on two columns so slower thansortingon one column?  (Jie Li <jay23jack@gmail.com>)
Ответы Re: Why is sorting on two columns so slower thansortingon one column?  (Robert Haas <robertmhaas@gmail.com>)
Список pgsql-hackers
On Fri, 2010-12-24 at 00:27 -0500, Jie Li wrote:

>         I doubt the cost of comparing two integers is the issue here;
>         rather
>         it's more likely one of how many merge passes were needed.
>          You could
>         find out instead of just speculating by turning on trace_sort
>         and
>         comparing the log outputs.

> postgres=# explain analyze select * from big_wf order by id;

> LOG:  switching to external sort with 74 tapes: CPU 0.29s/0.28u sec
> elapsed 0.71 sec
> LOG:  external sort ended, 9006 disk blocks used: CPU 8.01s/27.02u
> sec 

> elapsed 42.92 sec
> STATEMENT:  explain analyze select * from big_wf order by id;


> STATEMENT:  explain analyze select * from big_wf order by age,id;

> LOG:  begin tuple sort: nkeys = 2, workMem = 20480, randomAccess = f
> STATEMENT:  explain analyze select * from big_wf order by age,id;
> LOG:  switching to external sort with 74 tapes: CPU 0.28s/0.30u sec
> elapsed 0.67 sec
> LOG:  external sort ended, 9006 disk blocks used: CPU 8.60s/41.93u sec
> elapsed 60.73 sec
> STATEMENT:  explain analyze select * from big_wf order by age,id;

I think the answer is that only the first column comparison is
optimised. Second and subsequent comparisons are not optimised.

-- Simon Riggs           http://www.2ndQuadrant.com/books/PostgreSQL Development, 24x7 Support, Training and Services



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

Предыдущее
От: Simon Riggs
Дата:
Сообщение: Re: sepgsql contrib module
Следующее
От: Николай Ижиков
Дата:
Сообщение: Re: Archlinux, ossp-uuid