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 <[EMAIL PROTECTED]> wrote: > On Thu, Mar 6, 2008 at 5:08 PM, A. Kretschmer < > [EMAIL PROTECTED]> 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 > [EMAIL PROTECTED]