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

---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings

Reply via email to