Re: count * performance issue

Поиск
Список
Период
Сортировка
От sathiya psql
Тема Re: count * performance issue
Дата
Msg-id f966c2ee0803052219x393929c4w321f65e659f1617b@mail.gmail.com
обсуждение исходный текст
Ответ на Re: count * performance issue  ("Shoaib Mir" <shoaibmir@gmail.com>)
Ответы Re: count * performance issue
Список pgsql-performance
buy every time i need to put ANALYZE...
this takes the same time as count(*) takes, what is the use ??

On Thu, Mar 6, 2008 at 11:45 AM, Shoaib Mir <shoaibmir@gmail.com> wrote:
On Thu, Mar 6, 2008 at 5:08 PM, A. Kretschmer <andreas.kretschmer@schollglas.com> wrote:>
> am having a table with nearly 50 lakh records,
>
> it has more than 15 columns, i want to count how many records are there, it is
> taking nearly 17 seconds to do that...
>
> i know that to get a approximate count we can use
>          SELECT reltuples FROM pg_class where relname = TABLENAME;
>
> but this give approximate count, and i require exact count...

There aren't a general solution. If you realy need the exact count of
tuples than you can play with a TRIGGER and increase/decrease the
tuple-count for this table in an extra table.



Or do something like:

ANALYZE tablename;
select reltuple from pg_class where relname = 'tablename';

That will also return the total number of rows in a table and I guess might be much faster then doing a count(*) but yes if trigger can be an option that can be the easiest way to do it and fastest too.

--
Shoaib Mir
Fujitsu Australia Software Technology
shoaibm[@]fast.fujitsu.com.au

В списке pgsql-performance по дате отправления:

Предыдущее
От: "Shoaib Mir"
Дата:
Сообщение: Re: count * performance issue
Следующее
От: "Shoaib Mir"
Дата:
Сообщение: Re: count * performance issue