INDEX issues

Поиск
Список
Период
Сортировка
От Nicholay P. Chuprynin
Тема INDEX issues
Дата
Msg-id Pine.LNX.4.21.0204031643340.3259-100000@smash.infoport.uz
обсуждение исходный текст
Ответы Re: INDEX issues
Список pgsql-admin
Hello, All!

Today I tried the following query on a large table (11543179 rows).

SELECT sum(raw_bytes)
FROM raw_acct
WHERE raw_date > '2001-12-31'
AND ts_client_id = 93
AND ts_server_id IS NOT NULL;

It took about 4 minutes to complete so I EXPLAINed it:

NOTICE:  QUERY PLAN:

Aggregate  (cost=356978.02..356978.02 rows=1 width=4)
  ->  Seq Scan on raw_acct  (cost=0.00..356870.63 rows=42954 width=4)

EXPLAIN

I found that Postgres uses seq scan on the table even if index on
(raw_date, ts_client_id) exist.
I switched enable_seqscan to 'false', restarted server and EXPLAINed the
same query again:

NOTICE:  QUERY PLAN:

Aggregate  (cost=2584766.31..2584766.31 rows=1 width=4)
  ->  Index Scan using i_raw_date_client on raw_acct
(cost=0.00..2584658.92 rows=42954 width=4)

EXPLAIN

Now it uses index scan, but query takes MUCH more time than before (about
an hour, and it's not finished yet).
It seems very strange for me.
Can someone explain what's wrong here?
I'm using Postges 7.1.3, raw_date is DATE, ts_client_id is SMALLINT.

Thanks in advance,
Nicholay


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

Предыдущее
От: "Gaetano Mendola"
Дата:
Сообщение: Re: Log rotation
Следующее
От: "William Meloney"
Дата:
Сообщение: Thing(s) that went bump in the night...