Re: LIKE and regex - Mailing list pgsql-sql

From Mitch Vincent
Subject Re: LIKE and regex
Date
Msg-id 01c101bfc0ee$0fe3ccc0$4100000a@venux.net
Whole thread Raw
In response to LIKE and regex  ("Mitch Vincent" <mitch@venux.net>)
List pgsql-sql
> No, it's just a pretty brain-dead scanner.  You can find the code in
> backend/utils/adt/like.c if you care.

I shall take a look, thanks!

> Perhaps it'd make sense to translate the LIKE pattern into an equivalent
> regex and then use the regex code, but no one's done it.
>
> > I'm trying to find the
> > quickest / fastest way to search for any occurance of a given string in
a
> > stored field.
> > query: select * from applicants where firstname LIKE '%mitch%';
> > query: select * from applicants where firstname ~ lower('mitch');
>
> I think the actual operator processing is going to be swamped by
> tuple-fetching overhead, so there's not going to be much difference.
> What you ought to be thinking about is how you could replace the
> brute-force scan with an index lookup.  Possibly you could adapt the
> ideas in contrib/fulltextindex.

That's exactly what I'm doing (using ideas in contrib/fulltextindex) -- The
database is huge! (33 million rows right now) so it's taking quite some time
to do any operations on the database right now.. This is certainly to be
expected with as much data as there is stored in there.

It seems both LIKE and ~ uses the index I created, so that's all good...

I'm going to stick with the regex search I think, a co-worker was asking
about the LIKE operator, so I thought I would ask the guys that truely have
a clue!

Thanks again..

-Mitch



pgsql-sql by date:

Previous
From: Kyle Bateman
Date:
Subject: Pre-toast toast to toast
Next
From: "Brian C. Doyle"
Date:
Subject: Novice Help Needed