Bom dia pessoal,
Tenho um sistema web, cuja principal função é buscar em uma tabela com
aproximadamente 2.4 milhões de registros.
Nessa tabela está sendo executado para busca +/- o seguinte SQL:
select nome from nome_produto where nome like upper('%abacaxi%') -- Os dados
da tabela
2010/3/8 Jorge Vilela jorge.com...@gmail.com:
Bom dia pessoal,
Tenho um sistema web, cuja principal função é buscar em uma tabela com
aproximadamente 2.4 milhões de registros.
Nessa tabela está sendo executado para busca +/- o seguinte SQL:
select nome from nome_produto where nome like
Oloooco!
Obrigado pela dica do GIN, matou a pau
Fiz um outro campo (produto_tsvector) salvei nele o to_tsvector(produto) e
estou buscando nele.
Advinha? A busca caiu de 1.2 segundos para 32ms
Impressionante!
Vou tentar agora outras combinações...
Lendo sobre o @@ to_tsquery(busca), ví que
2010/3/8 Jorge Vilela jorge.com...@gmail.com:
Lendo sobre o @@ to_tsquery(busca), ví que existem dois tipos de junção (
e |), existe alguma opção como | (OU) mas que ordene os resultados pela
quantidade de palavras encontradas?
Por exemplo:
Busca = Bolo de chocolate
Trazer na ordem:
Bolo
Muito obrigado Leonardo!
Funcionou melhor do que eu esperava =D
Jorge Vilela
2010/3/8 Leonardo Cezar lhce...@gmail.com
2010/3/8 Jorge Vilela jorge.com...@gmail.com:
Lendo sobre o @@ to_tsquery(busca), ví que existem dois tipos de junção
(
e |), existe alguma opção como | (OU) mas que
Em 08/03/2010 14:54, Jorge Vilela escreveu:
Muito obrigado Leonardo!
Funcionou melhor do que eu esperava =D
Jorge Vilela
Diga ae qual foi o tempo da pesquisa agora... hehehehe...
pq parece que a melhora foi muito significativa...
___
pgbr-geral
De 1.2 segundos baixou pra 32ms!
Fora que não importa a ordem dos termos de busca e ainda classifica o
retorno por relevância.
Impressionante mesmo, muito bom!
Jorge Vilela
2010/3/8 Flávio Alves Granato digitaldr...@gmail.com
Em 08/03/2010 14:54, Jorge Vilela escreveu:
Muito obrigado