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@xxxxxxxxxx>: > 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 > > > > > -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general