Column Statistics - How to dertermine for whole database
Hi,
I finally figure out how come (i think) my analyszing of some specific
tables is taking so freaking long. 12million rows, ~11GB table.
I had some of the columns with the stat level set up to 1000. (this was
previously because I was trying to optimise somethings to make things
faster. ) When the table was small, the analyse of that table went by
pretty fast, until it became bigger, now it's a headache.
So, my investigation found that It was due to the stats level I put into
that column. (normal stat level = 100).
Is there a query to pg_catalog tables to find out which table/column has
the stat level not at default in 1 sweep?
Appreciate any pointers.
Is there a query to pg_catalog tables to find out which table/column
has
the stat level not at default in 1 sweep?
Try this:
select c.relname, a.attname, attstattarget
from pg_catalog.pg_attribute a, pg_catalog.pg_class c,
pg_catalog.pg_namespace n
where a.attrelid = c.oid and c.relnamespace=n.oid
and n.nspname = 'public' and a.attnum > 0
The value "-1" means to use the default (set in postgreql.conf)
On Wed, 2008-03-12 at 21:33 -0500, Adam Rich wrote:
select c.relname, a.attname, attstattarget
from pg_catalog.pg_attribute a, pg_catalog.pg_class c,
pg_catalog.pg_namespace n
where a.attrelid = c.oid and c.relnamespace=n.oid
and n.nspname = 'public' and a.attnum > 0
Funny, that does not work.
note : I did change the nspace value to reflect the DB I'm
using/querying
I've even changed the stat level to 200 (default is 100 or -1)
On Wed, Mar 12, 2008 at 8:45 PM, Ow Mun Heng <Ow.Mun.Heng@wdc.com> wrote:
On Wed, 2008-03-12 at 21:33 -0500, Adam Rich wrote:
select c.relname, a.attname, attstattarget
from pg_catalog.pg_attribute a, pg_catalog.pg_class c,
pg_catalog.pg_namespace n
where a.attrelid = c.oid and c.relnamespace=n.oid
and n.nspname = 'public' and a.attnum > 0Funny, that does not work.
note : I did change the nspace value to reflect the DB I'm
using/queryingI've even changed the stat level to 200 (default is 100 or -1)
The nspname setting setting is for schema, not db name.
On Wed, 2008-03-12 at 21:40 -0700, Scott Marlowe wrote:
On Wed, Mar 12, 2008 at 8:45 PM, Ow Mun Heng <Ow.Mun.Heng@wdc.com> wrote:
On Wed, 2008-03-12 at 21:33 -0500, Adam Rich wrote:
select c.relname, a.attname, attstattarget
from pg_catalog.pg_attribute a, pg_catalog.pg_class c,
pg_catalog.pg_namespace n
where a.attrelid = c.oid and c.relnamespace=n.oid
and n.nspname = 'public' and a.attnum > 0Funny, that does not work.
note : I did change the nspace value to reflect the DB I'm
using/queryingI've even changed the stat level to 200 (default is 100 or -1)
The nspname setting setting is for schema, not db name.
select c.relname, a.attname, attstattarget
from pg_catalog.pg_attribute a, pg_catalog.pg_class c,
pg_catalog.pg_namespace n
where a.attrelid = c.oid and c.relnamespace=n.oid
and n.nspname = 'xmms' and a.attnum > 0 and attstattarget <> -1;
This works now.
The clarification on it being the schema name was useful.
Thanks.