Re: Very low performance on table with only 298 rows
От | Richard Huxton |
---|---|
Тема | Re: Very low performance on table with only 298 rows |
Дата | |
Msg-id | 425E53C7.5080604@archonet.com обсуждение исходный текст |
Ответ на | Very low performance on table with only 298 rows (Andreas Joseph Krogh <andreak@officenet.no>) |
Ответы |
Re: Very low performance on table with only 298 rows
|
Список | pgsql-sql |
Andreas Joseph Krogh wrote: > nbeweb=> EXPLAIN select count(*) from onp_web_index; > QUERY PLAN > ----------------------------------------------------------------------------- > Hi all. > I have a problem with a table which only has 298 rows in it. A select count(*) > takes forever and CTRL-C also takes a long time canceling the query. There > are only 298 rows in the table when count(*) returns. How come it takes such > a long time counting only 298 rows? Here is EXPLAIN ANALYZE: > > nbeweb=> EXPLAIN ANALYZE select count(*) from onp_web_index; > QUERY PLAN > ----------------------------------------------------------------------------------------------------------------------------------- > Aggregate (cost=205759.52..205759.52 rows=1 width=0) (actual > time=179748.910..179748.913 rows=1 loops=1) > -> Seq Scan on onp_web_index (cost=0.00..205455.41 rows=121641 width=0) > (actual time=179735.956..179747.821 rows=298 loops=1) > Total runtime: 179748.993 ms Why does PG think you have 121641 rows in this table? How often do you vacuum it? How often do you analyse it? Does "vacuum full verbose" show a lot of dead rows being removed? I'm suspecting a *lot* of dead rows need to be removed. -- Richard Huxton Archonet Ltd
В списке pgsql-sql по дате отправления: