Why is this query not using GIN index?

From: Aaron Lewis <the(dot)warl0ck(dot)1989(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Why is this query not using GIN index?
Date: 2016-11-13 11:50:18
Message-ID: CAJZVxRkaajWE1Z-LjQwHg-TEEfEYaqp8SHykcA96RBTXRvz2hw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I have a simple table, and a gin index,

create table mytable(hash char(40), title varchar(500));
create index name_fts on mytable using gin(to_tsvector('english', 'title'));
create unique index md5_uniq_idx on mytable(hash);

When I execute a query with tsquery, the GIN index was not in use:

test=# explain analyze select * from mytable where
to_tsvector('english', title) @@ 'abc | def'::tsquery limit 10;
QUERY PLAN
--------------------------------------------------------------------------------------------------------------------
Limit (cost=0.00..277.35 rows=10 width=83) (actual
time=0.111..75.549 rows=10 loops=1)
-> Seq Scan on mytable (cost=0.00..381187.45 rows=13744 width=83)
(actual time=0.110..75.546 rows=10 loops=1)
Filter: (to_tsvector('english'::regconfig, (title)::text) @@
'''abc'' | ''def'''::tsquery)
Rows Removed by Filter: 10221
Planning time: 0.176 ms
Execution time: 75.564 ms
(6 rows)

Any ideas?

--
Best Regards,
Aaron Lewis - PGP: 0x13714D33 - http://pgp.mit.edu/
Finger Print: 9F67 391B B770 8FF6 99DC D92D 87F6 2602 1371 4D33

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Aaron Lewis 2016-11-13 11:54:36 Trigram is slow when 10m rows
Previous Message otar shavadze 2016-11-13 01:33:52 Re: Gin indexes on intarray is fast when value in array does not exists, and slow, when value exists