Re: Performance : Optimize query

Поиск
Список
Период
Сортировка
От Stephan Szabo
Тема Re: Performance : Optimize query
Дата
Msg-id 20021113071630.N79695-100000@megazone23.bigpanda.com
обсуждение исходный текст
Ответ на Performance : Optimize query  ("Areski" <areski5@hotmail.com>)
Список pgsql-general
On Wed, 13 Nov 2002, Areski wrote:

> Hi Everybody,
>
>
> I have this  following query : select count(*) from "Data" where
> "IDOrigin"='29';
> It's take more less 2 minutes to run... It's really slow...
> Some one maybe knows about how to optimize "select count"
>
> Below, there are the expalin analyse of the query.
>
>
> EXPLAIN ANALYZE select count(*) from "Data" where "IDOrigin"='29';
> NOTICE:  QUERY PLAN:
>
> Aggregate  (cost=108945.77..108945.77 rows=1 width=0) (actual
> time=108845.29..108845.30 rows=1 loops=1)
>   ->  Seq Scan on Data (cost=0.00..107152.11 rows=717462 width=0) (actual
> time=18233.46..106927.60 rows=1457826 loops=1)
> Total runtime: 108845.50 msec.

Let's go through the normal stuff :)

Have you used vacuum analyze recently?  How many rows are in the table?
How many rows actually have IDOrigin=29 (ie, is 717462 a valid estimate)?
If it's not a reasonable estimate, you might want to raise the number of
statistic buckets the column is getting (alter table "Data" alter
column "IDOrigin" SET STATISTICS <number> where the default value is 10)
and running vacuum analyze again.


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

Предыдущее
От: Stephan Szabo
Дата:
Сообщение: Re: error: lost syncronization with server
Следующее
От: "Nigel J. Andrews"
Дата:
Сообщение: Planner's choice