Thread: About TSearch2 Performance
Hi, Is there any performance diference between the following SQL commands: SELECT * FROM documents WHERE content_ix @@ to_tsquery('word1&word2|word3'); SELECT * FROM documents WHERE content_ix @@ to_tsquery('word1') AND content_ix @@ to_tsquery('word2') OR content_ix @@ to_tsquery('word3'); I'm having to do this on some complex querys to put LIKEs between some ts_querys. Does anyone has such experience? Thanks in advance, -- Diogo Biazus diogo@ikono.com.br http://www.ikono.com.br
First one will be a bit faster Diogo Biazus wrote: > Hi, > > Is there any performance diference between the following SQL commands: > > SELECT * FROM documents WHERE content_ix @@ > to_tsquery('word1&word2|word3'); > > SELECT * FROM documents WHERE content_ix @@ to_tsquery('word1') AND > content_ix @@ to_tsquery('word2') OR content_ix @@ to_tsquery('word3'); > > I'm having to do this on some complex querys to put LIKEs between some > ts_querys. > Does anyone has such experience? > > Thanks in advance, > -- Teodor Sigaev E-mail: teodor@sigaev.ru
Teodor Sigaev wrote: > First one will be a bit faster > > Diogo Biazus wrote: > >> Hi, >> >> Is there any performance diference between the following SQL commands: >> >> SELECT * FROM documents WHERE content_ix @@ >> to_tsquery('word1&word2|word3'); >> >> SELECT * FROM documents WHERE content_ix @@ to_tsquery('word1') AND >> content_ix @@ to_tsquery('word2') OR content_ix @@ to_tsquery('word3'); >> >> I'm having to do this on some complex querys to put LIKEs between >> some ts_querys. >> Does anyone has such experience? >> >> Thanks in advance, >> > What do those @@ do for the statement? -- "You are behaving like a man", is an insult from some women, a compliment from an good woman.
On Friday 24 October 2003 08:18, Dennis Gearon wrote: > Teodor Sigaev wrote: > > First one will be a bit faster > > > > Diogo Biazus wrote: > >> Hi, > >> > >> Is there any performance diference between the following SQL commands: > >> > >> SELECT * FROM documents WHERE content_ix @@ > >> to_tsquery('word1&word2|word3'); > >> > >> SELECT * FROM documents WHERE content_ix @@ to_tsquery('word1') AND > >> content_ix @@ to_tsquery('word2') OR content_ix @@ to_tsquery('word3'); > >> > >> I'm having to do this on some complex querys to put LIKEs between > >> some ts_querys. > >> Does anyone has such experience? > >> > >> Thanks in advance, > > What do those @@ do for the statement? That is an operator defined when tsearch2 is installed. It does comparison on the types from tsearch2 (tsvector, tsquery). Andy