Re: Думы по поводу count(*)

Поиск
Список
Период
Сортировка
Искать
От
Ivan Zolotukhin
Тема
Re: Думы по поводу count(*)
Дата
Msg-id
751e56400803071400u6c0e9b53tc41a1342d1fa0737@mail.gmail.com
Ответ на
Список
Дерево обсуждения
Думы по поводу count(*) Kuzma Feskov <kuzma@russofile.ru>
Re: Думы по поводу count(*) "Ivan Zolotukhin" <ivan.zolotukhin@gmail.com>
2008/3/7 Kuzma Feskov :
> прочитал кучу материала на сей счет. в частности про рекомендации
>  уважаемого sad Spirit'a. Он там рекомендует пользоваться результатами
>  analyse или написать тригеры.

наверное, имеется в виду не analyze, а explain?

>  Но все это подходит к линейным запроса, без условий. а таких запросов
>  единицы. Как вы боретесь с тормознутостью count(*) если в запросе
>  есть условия, например посчитать все записи, у которых нет пометки
>  is_deleted? или например count(*) + JOIN?

не верно. для запросов с условиями приблизительная оценка из explain-а
подходит, попробуйте сами. не забывайте только делать analyze и/или не
отключайте autovacuum. для джойнов тоже должно работать, но нужно
исследовать.

мы используем подсчет кол-ва рядов не через count(*), а через explain,
уже в нескольких крупных проектах и полностью довольны этим методом.
триггер имеет смысл использовать только если необходимо знать
абсолютно точное значение, в подавляющем большинстве сложных случаев
приблизительной оценки достаточно.
В списке pgsql-ru-general по дате отправления
От: Kuzma Feskov
Дата:
От: Maxim Boguk
Дата:
FAQ