Re: [SQL] Select like when searching for whole word and optimizing it
От | Oleg Bartunov |
---|---|
Тема | Re: [SQL] Select like when searching for whole word and optimizing it |
Дата | |
Msg-id | Pine.GSO.3.96.SK.990613000929.29126B-100000@ra обсуждение исходный текст |
Ответ на | Select like when searching for whole word and optimizing it (Michal Samek <webmaster@tony.cz>) |
Список | pgsql-sql |
I use regex '( |^)io([^A-z]|$)' to find word 'io' For example select a.msg_id,b.key_id from publications a, keywords b where a.title ~* ('( |^)'||b.name||'([^A-z]|$)') and b.key_id in ( select key_id from keywords); This match word (b.name) in most cases. Regards, Oleg On Wed, 9 Jun 1999, Michal Samek wrote: > Date: Wed, 09 Jun 1999 10:41:02 +0200 > From: Michal Samek <webmaster@tony.cz> > To: pgsql-sql <pgsql-sql@postgreSQL.org> > Subject: [SQL] Select like when searching for whole word and optimizing it > > In my e-shop I'm using the searching based on select like command; > something like > SELECT * FROM kat WHERE name LIKE '%some_text%'; > and when searching for the whole word: > SELECT * FROM kat WHERE name LIKE '% some_text %'; > For this is necessary to maintain the name column with one space added > before and after the name column value (to match starting and ending > words). It's working but very ugly. > > Maybe there is some better way to search for the whole word? > > And another question, is there some way to optimize the SELECT LIKE > querry? I know that when I send something like "SELECT * FROM kat WHERE > name LIKE 'blabla%';" postgresql uses the index but not when the search > string begins with '%'... My table is quickly growing and now I can feel > the speed of my web is impacted a lot. > > There is a lot of same values in the name field (for ex. 'QUEEN' about > 40 times etc.) - I could make a table with unique only name values and > point to them from the main table kat. Will the searching be more > effective then? > > Thanks for any help; I hope it's interesting not only for me :) > -- > Michal Samek, Tony distribuce s.r.o. > webmaster@tony.cz (++420659/321350) > ICQ: 38607210 > _____________________________________________________________ Oleg Bartunov, sci.researcher, hostmaster of AstroNet, Sternberg Astronomical Institute, Moscow University (Russia) Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/ phone: +007(095)939-16-83, +007(095)939-23-83
В списке pgsql-sql по дате отправления: