Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

Re: COUNT(*) дофига весит


  • From: silly_sad <sad(at)bankir(dot)ru>
  • To: Maxim Boguk <mboguk(at)masterhost(dot)ru>, pgsql-ru-general(at)postgresql(dot)org
  • Subject: Re: COUNT(*) дофига весит
  • Date: Wed, 09 Apr 2008 17:16:08 +0400
  • Message-id: <47FCC198.7020402@bankir.ru> <text/plain>

Спасибо.
Попытаюсь ответить как можно точнее:

Maxim Boguk wrote:

1)Какая версия postgres?

8.2.6


2)Что стоит в настройках postgresql.conf для *_cost параметров?

# - Planner Cost Constants -

#seq_page_cost = 1.0                    # measured on an arbitrary scale
#random_page_cost = 4.0                 # same scale as above
#cpu_tuple_cost = 0.01                  # same scale as above
#cpu_index_tuple_cost = 0.005           # same scale as above
#cpu_operator_cost = 0.0025             # same scale as above
#effective_cache_size = 1024MB


3)Если сделать 5 explain ANALYZE этого запроса подряд один за другим
время будет постоянное или только первый запрос притормаживает?

Время выполнения постоянное между эксплэйнами
(но естественно зависит от загрузки сервера)


4)Что показывает SELECT pg_relation_size('accounts');

 pg_relation_size
------------------
        353107968


5)Насколько вообще сервер занят (load avg/нагрузка на диски)?

Total: 169 processes, 1706 lwps, load averages: 0.93, 1.11, 1.22

вот в текущий момент нагрузка на диск мизерная,
я запускаю больной запрос, запрос тормозит
iostat роста нагрузки на диск не показывает


6)Нету ли старых открытых транзакций (более 24х часов скажем)?

Была одна. (как могло влиять ?)
Закрыл. (что надо сделать чтобы это возымело эффект?)



Подскажите пожалуйста какие ошибки
(можетбыть в настройках постгреса)
могли привести вот к такому эффекту:

personal=# explain ANALYZE SELECT count(*) from accounts;

                     QUERY PLAN
-------------------------------------------------------------
Aggregate (cost=43126.25..43126.26 rows=1 width=0) (actual time=975.628..975.628 rows=1 loops=1) -> Seq Scan on accounts (cost=0.00..43121.80 rows=1780 width=0) (actual time=0.122..974.565 rows=1782 loops=1)
 Total runtime: 975.687 ms


personal=# SELECT count(*) from accounts;

 count
-------
  1782


Всего-то 1782 записи ! и такая огромная цена.
и реальное время выполнения тоже неприемлемое.

vacuum analyze делается каждую ночь







Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group