Re: How to speed up pg_trgm / gin index scan - Mailing list pgsql-general

From Christian Ramseyer
Subject Re: How to speed up pg_trgm / gin index scan
Date
Msg-id 55884868.3080707@networkz.ch
Whole thread Raw
In response to Re: How to speed up pg_trgm / gin index scan  (Jeff Janes <jeff.janes@gmail.com>)
Responses Re: How to speed up pg_trgm / gin index scan  (Jeff Janes <jeff.janes@gmail.com>)
List pgsql-general
On 22/06/15 19:00, Jeff Janes wrote:

>
>
>     A typical query on this table looks like this:
>
>     explain analyze
>     select log_date, host, msg
>     from logs_01 as log   where  log.msg like '%192.23.33.177%'
>         and log.log_date >= '2015-1-18 1:45:24'
>         and log.log_date <= '2015-1-19 1:45:24'
>         order by log_date asc offset 200 limit 50;
>
>
> I think that trigram indexes are not well-suited to searching IP addresses.
>
> If the typical query is always an IP address for the LIKE, I think you
> would want to build an index specifically tailored to that.  You could
> make a function to parse the IP address out of the msg, and then make a
> functional index, for example. It would require you to write the query
> differently.  Whether it would be a btree index or a gin index would
> depend on whether you can have more than one IP address in a msg.
>

Thanks Jeff, but the IP address was mostly an example... I should have
written this more clearly. Generally the searched string will be a
random short fragment from msg (ip, hostname, some part of an error
message etc.).

It must be matched exactly including all punctuation etc, so trigrams
look very suitable.

Cheers
Christian





pgsql-general by date:

Previous
From: Rick Otten
Date:
Subject: Re: foreign keys to foreign tables
Next
From: Jaime Casanova
Date:
Subject: Re: How to speed up pg_trgm / gin index scan