Re: Indexes and sorting

Поиск
Список
Период
Сортировка
От Stephan Szabo
Тема Re: Indexes and sorting
Дата
Msg-id 20040206105232.X90689@megazone.bigpanda.com
обсуждение исходный текст
Ответ на Indexes and sorting  (John Siracusa <siracusa@mindspring.com>)
Список pgsql-general
On Fri, 6 Feb 2004, John Siracusa wrote:

> Are indexes useful for speeding up ORDER BY clauses?  Example:
>
>     CREATE TABLE t
>     (
>       a INT,
>       b INT,
>       c INT,
>       d INT
>     );
>
>     SELECT * FROM t WHERE a = 1 AND b = 2 AND c = 3 ORDER BY b;
>
> Let's say the table just has one index:
>
>     CREATE INDEX b_idx ON t (b);
>
> In this case, obviously the b_idx will be used and no sorting after the fact
> will be required.  Now let's add an index:
>
>     CREATE INDEX key_idx ON t (a, b, c);

If you're really doing the above alot, you probably really want (b,a,c)
which can probably avoid the sort as well (unless of course you're also
doing frequent sorts on a, etc...)

> On the same query, now the key_idx will be used and there'll be a sort
> wrapped around it all.  The question is, is the b_idx useful at all anymore?

Yes.  Queries searching on just b won't use key_idx.

> Can it be used to speed up the sort step?  If so, how?  If not, why not?

Not really at least right now.

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

Предыдущее
От: Jenny Zhang
Дата:
Сообщение: Re: pgsql 7.4.1 copy - end-of-copy marker corrupt
Следующее
От: Joe Conway
Дата:
Сообщение: Re: how can I select into an array?