From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | Ries van Twisk <pg(at)rvt(dot)dds(dot)nl> |
Cc: | "pgsql-general(at)postgresql(dot)org mailing list" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: best practise/pattern for large OR / LIKE searches |
Date: | 2009-08-26 06:51:21 |
Message-ID: | 162867790908252351o7785493ao53d6dc890852939b@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hello
one year ago there was proposal for index support for LIKE %some%. The
problem was extreme size of index size.
I thing so you can write own C function, that can check string faster
than repeated LIKE
some like
SELECT * FROM tbl WHERE contains(datanumber, '12345','54321',....)
regards
Pavel Stehule
2009/8/26 Ries van Twisk <pg(at)rvt(dot)dds(dot)nl>:
> Hey All,
> I am wondering if there is a common pattern for these sort of queries :
> SELECT * FROM tbl WHERE datanumber LIKE '%12345%' OR LIKE '%54321%' OR LIKE
> '%8766%' OR LIKE '%009%', ..
> The number of OR/LIKES are in the order of 50-100 items...
> the table tbl is a couple of million rows.
> The datanumber is a string that are maximum 10 characters long, no spaces
> and can contain numbers and letters.
> Apart from creating a couple of index table to make the LIKE left anchored
> something like this :
> tbl <----> tbl_4letters
> tbl <----> tbl_5letters
> tbl <----> tbl_3letters
> or creating a functional index 'of some sort' are there any other brilliant
> ideas out there to solve such a problem (GIN/GIS???) ?
> Searches are currently taking to long and we would like to optimize them,
> but before we dive into our own solution we
> where wondering if there already common solutions for this...
> Kind Regards,
> Ries van Twisk
>
>
>
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Sébastien Lardière | 2009-08-26 10:27:54 | Re: [Skytools-users] WAL Shipping + checkpoint |
Previous Message | Ries van Twisk | 2009-08-26 04:18:55 | best practise/pattern for large OR / LIKE searches |