tsearch2 poor performance - Mailing list pgsql-admin

From Kris Kiger
Subject tsearch2 poor performance
Date
Msg-id 4154542F.3000909@musicrebellion.com
Whole thread Raw
Responses Re: tsearch2 poor performance  (Oleg Bartunov <oleg@sai.msu.su>)
List pgsql-admin
Hi all.  I am doing some work with tsearch2 and am not sure what to
expect out of it, performance wise.  Here is my setup:

                          Table "public.product"
   Column    |   Type   |                    Modifiers
-------------+----------+-------------------------------------------------
 description | text     |
 product_id  | integer  | default nextval('product_product_id_seq'::text)
 vector      | tsvector |
Indexes:
    "vector_idx" gist (vector)
Triggers:
    tsvectorupdate BEFORE INSERT OR UPDATE ON product FOR EACH ROW EXECUTE PROCEDURE tsearch2('vector', 'description')

This table has 3,000,000 rows in it.  Each description field has roughly 50 characters.  There are fewer than ten
thousanddistinct words in my 3,000,000 rows.  The vector was filled using the description fields values.  I ran a
vacuumfull analyze before executing any of my queries.   

Here are a couple of tests I performed using the tsearch index and like;

search_test=# select count(*) from product where vector @@ to_tsquery('oil');
 count
--------
 226357
(1 row)

Time: 191056.230 ms

search_test=# select count(*) from product where vector @@ to_tsquery('hydrogen');
 count
--------
 226868
(1 row)

Time: 306411.957 ms

search_test=# select count(*) from product where description like '% oil %';
 count
--------
 226357
(1 row)

Time: 38426.851 ms

search_test=# select count(*) from product where description like '% hydrogen %';
 count
--------
 226868
(1 row)

Time: 38265.421 ms


Both of the likes are using a sequential scan and both of the tsearch queries use the gist index.  Did I miss a
configurationparameter, are these queries incorrectly using tsearch2,or is this tsearch2's average performance?  Thanks
inadvance for the input!   

Kris




pgsql-admin by date:

Previous
From: Dmitry Morozovsky
Date:
Subject: Re: v7.1b4 bad performance
Next
From: Oleg Bartunov
Date:
Subject: Re: tsearch2 poor performance