Re: best practise/pattern for large OR / LIKE searches
От | Pavel Stehule |
---|---|
Тема | Re: best practise/pattern for large OR / LIKE searches |
Дата | |
Msg-id | 162867790908252351o7785493ao53d6dc890852939b@mail.gmail.com обсуждение исходный текст |
Ответ на | best practise/pattern for large OR / LIKE searches (Ries van Twisk <pg@rvt.dds.nl>) |
Ответы |
Re: best practise/pattern for large OR / LIKE searches
|
Список | 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@rvt.dds.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 > > > > >
В списке pgsql-general по дате отправления: