Re: Very slow catalog query - Mailing list pgsql-general

From Tom Lane
Subject Re: Very slow catalog query
Date
Msg-id 14972.1206984445@sss.pgh.pa.us
Whole thread Raw
In response to Re: Very slow catalog query  ("Just Someone" <just.some@gmail.com>)
Responses Re: Very slow catalog query  ("Just Someone" <just.some@gmail.com>)
List pgsql-general
"Just Someone" <just.some@gmail.com> writes:
> Here is the result of explain analyze (though this one took 1500ms and
> not 169000):

Well, it's hard to be sure what the problem is when you're not showing
us a problem case ...  but I notice that this indexscan is estimated
awfully high:

>                            ->  Index Scan using
> pg_depend_reference_index on pg_depend dep  (cost=0.00..64942.17
> rows=247 width=12) (actual time=396.542..1547.172 rows=22 loops=1)
>                                  Index Cond: (refobjid = 30375069::oid)

The reason is not far to seek: the scan is checking only the second
index key, meaning that it has to scan the entire index.  (I am
surprised it didn't use a seqscan instead.  Are you using enable_seqscan
= off?  Not a great idea.)  Since you know you are looking for a table,
you could improve matters by adding a constraint on refclassid:

    dep.refclassid = 'pg_class'::regclass

            regards, tom lane

pgsql-general by date:

Previous
From: "x asasaxax"
Date:
Subject: Re: Primary Key with serial
Next
From: "Andrej Ricnik-Bay"
Date:
Subject: Re: Schema design question