Skip site navigation (1) Skip section navigation (2)

Re: Full text indexing (and errors!)

From: "Mitch Vincent" <mitch(at)venux(dot)net>
To: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: <pgsql-sql(at)postgresql(dot)org>
Subject: Re: Full text indexing (and errors!)
Date: 2000-05-21 19:15:46
Message-ID: 002f01bfc358$f82cfee0$0300000a@doot.org (view raw or flat)
Thread:
Lists: pgsql-sql
 attname | attdisbursion | starelid | staattnum | staop | stanullfrac |
stacommonfrac | stacommonval | staloval | stahival
---------+---------------+----------+-----------+-------+-------------+-----
----------+--------------+----------+----------
 string  |    0.00208943 |  1161760 |         1 |  1066 |           0 |
0.0100436 | on           | 00       | zzz
 id      |   3.40795e-05 |  1161760 |         2 |   609 |           0 |
0.000170281 | 9807369      | 7647538  | 41122350
(2 rows)

There ya go!


----- Original Message -----
From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Mitch Vincent <mitch(at)venux(dot)net>
Cc: <pgsql-sql(at)postgresql(dot)org>
Sent: Sunday, May 21, 2000 2:28 PM
Subject: Re: [SQL] Full text indexing (and errors!)


> "Mitch Vincent" <mitch(at)venux(dot)net> writes:
> >> is there an index on applicants' OID column?
>
> > No, there is not an index on the applicant OID column.. Since I'm
getting
> > all the records from the applicants table where the string I search for
is
> > in the resumes_fti table, I didn't think and index like that would help
> > (since I'm qualifying the results based on rows in another table). Am I
> > wrong in thinking that?
>
> If the pattern match is reasonably selective then I'd think that the
> best plan would probably be an indexscan on resumes_fti (using the
> pattern operator to select rows) and then a nestloop join against the
> applicant table using an inner indexscan on OID.  In English: look up
> the entries in resumes_fti that match the pattern, and then use the OIDs
> to look up the applicants entries ;-).  But it doesn't work without the
> index on OID.
>
> > select count(app_id) from applicants_resumes;
> >  14673
> > select count(id) from resumes_fti;
> >  33462249
>
> Hmm.  So the selectivity being estimated for the pattern match is
> 168041/33462249 or about 0.005 ... which is not huge but we'd
> probably like it to be smaller.  What do you get from the standard
> statistical query:
>
> select attname,attdisbursion,s.*
> from pg_statistic s, pg_attribute a, pg_class c
> where starelid = c.oid and attrelid = c.oid and staattnum = attnum
> and relname = 'resumes_fti';
>
> regards, tom lane
>


In response to

Responses

pgsql-sql by date

Next:From: Tom LaneDate: 2000-05-21 19:44:15
Subject: Re: Full text indexing (and errors!)
Previous:From: Tom LaneDate: 2000-05-21 18:28:35
Subject: Re: Full text indexing (and errors!)

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group