[PERFORM] Planner statistics vs. count(*)

2005-09-20 Thread evgeny gridasov
Hi Everybody.

I am going to replace some 'select count(*) from ... where ...' queries
which run on large tables (10M+ rows) with something like
'explain select * from ... where ' and parse planner output after that
to find out its forecast about number of rows the query is going to retrieve.

Since my users do not need exact row count for large tables, this will
boost performance for my application. I ran some queries with explain and
explain analyze then. If i set statistics number for the table about 200-300
the planner forecast seems to be working very fine.

My questions are:
1. Is there a way to interact with postgresql planner, other than 'explain 
...'? An aggregate query like 'select estimate_count(*) from ...' would really 
help =))
2. How precise is the planner row count forecast given for a complex query 
(select with 3-5 joint tables,aggregates,subselects, etc...)?


-- 
Evgeny Gridasov
Software Developer
I-Free, Russia

---(end of broadcast)---
TIP 4: Have you searched our list archives?

   http://archives.postgresql.org


Re: [PERFORM] Planner statistics vs. count(*)

2005-09-20 Thread Bricklen Anderson
evgeny gridasov wrote:
 Hi Everybody.
 
 I am going to replace some 'select count(*) from ... where ...' queries
 which run on large tables (10M+ rows) with something like
 'explain select * from ... where ' and parse planner output after that
 to find out its forecast about number of rows the query is going to retrieve.
 
 Since my users do not need exact row count for large tables, this will
 boost performance for my application. I ran some queries with explain and
 explain analyze then. If i set statistics number for the table about 200-300
 the planner forecast seems to be working very fine.
 
 My questions are:
 1. Is there a way to interact with postgresql planner, other than 'explain 
 ...'? An aggregate query like 'select estimate_count(*) from ...' would 
 really help =))
 2. How precise is the planner row count forecast given for a complex query 
 (select with 3-5 joint tables,aggregates,subselects, etc...)?
 
 
I think that this has been done before. Check the list archives (I believe it
may have been Michael Fuhr?)

ah, check this:

http://archives.postgresql.org/pgsql-sql/2005-08/msg00046.php

-- 
___

This e-mail may be privileged and/or confidential, and the sender does
not waive any related rights and obligations. Any distribution, use or
copying of this e-mail or the information it contains by other than an
intended recipient is unauthorized. If you received this e-mail in
error, please advise me (by return e-mail or otherwise) immediately.
___

---(end of broadcast)---
TIP 3: Have you checked our extensive FAQ?

   http://www.postgresql.org/docs/faq