Re: COUNT(*) дофига весит
От | silly_sad |
---|---|
Тема | Re: COUNT(*) дофига весит |
Дата | |
Msg-id | 47FCC198.7020402@bankir.ru обсуждение исходный текст |
Ответ на | COUNT(*) дофига весит (silly_sad <sad@bankir.ru>) |
Ответы |
Re: COUNT(*) дофига весит
|
Список | pgsql-ru-general |
Спасибо. Попытаюсь ответить как можно точнее: 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 делается каждую ночь >> > >
В списке pgsql-ru-general по дате отправления: