O problema foi solucionado passando um autovaccum e analyse na tabela. Obrigado por ter tentado ajudar.
-- []'s José Flávio M. V. Júnior 2009/12/8 José Flávio Jr. <[email protected]> > A versão utilizada é a 8.3.8 > > Definição da tabela: > > Coluna | Tipo | > Modificadores > > > -----------------------------------+------------------------+------------------- > ----- > id_projeto_pesquisa | integer | not null > introducao | text | > justificativa | text | > metodologia | text | > id_linha_pesquisa | integer | > id_area_conhecimento | integer | > bibliografia | text | > interno | boolean | not null > default f > vetorfts | tsvector | > > > Índices: > "projeto_pesquisa_pkey" PRIMARY KEY, btree (id_projeto_pesquisa) > "fki_area_cnpqprojeto" btree (id_area_conhecimento) > *"idx_vetorfts_projeto_pesquisa" gin (vetorfts)* > > > explain select introducao, justificativa, metodologia > from pesquisa.projeto_pesquisa > where vetorfts @@ to_tsquery('educação'); > > > "Seq Scan on projeto_pesquisa (cost=0.00..4269.80 rows=10 width=335)" > " Filter: (vetorfts @@ to_tsquery('educação'::text))" > > > > > 2009/12/8 Euler Taveira de Oliveira <[email protected]> > > José Flávio Jr. escreveu: >> > Tenho uma tabela com vários campos do tipo /text/. Quero submeter >> > consultas sobre eles. Assim, criei um campo do tipo /tsvector/ >> > e povoei usando /to_tsvector()/ concatenando três desses campos /text/. >> > Após isso, criei o índice GIN sobre o campo /tsvector/. Veja abaixo: >> > >> Há algo de estranho. Qual a versão do PostgreSQL? Mostre-nos a definição >> da >> tabela e os índices. >> >> euler=# \d foo >> Table "public.foo" >> Column | Type | Modifiers >> --------+-----------------------+----------- >> cidade | character varying(80) | >> >> euler=# alter table foo add column cidade_fts tsvector; >> ALTER TABLE >> euler=# update foo set cidade_fts=to_tsvector(foo::text); >> UPDATE 5564 >> euler=# select * from foo limit 10; >> cidade | cidade_fts >> -----------------+---------------------- >> Cumbe | 'cumb':1 >> Acrelândia | 'acrelând':1 >> Assis Brasil | 'assis':1 'brasil':2 >> Brasiléia | 'brasil':1 >> Bujari | 'bujar':1 >> Capixaba | 'capixab':1 >> Cruzeiro do Sul | 'cruzeir':1 'sul':3 >> Epitaciolândia | 'epitaciolând':1 >> Feijó | 'feij':1 >> Jordão | 'jordã':1 >> (10 rows) >> >> euler=# create index fooi on foo using gin (cidade_fts); >> CREATE INDEX >> euler=# explain select * from foo where cidade_fts @@ to_tsquery('assis'); >> QUERY PLAN >> ------------------------------------------------------------------- >> Bitmap Heap Scan on foo (cost=4.26..8.28 rows=1 width=39) >> Recheck Cond: (cidade_fts @@ to_tsquery('assis'::text)) >> -> Bitmap Index Scan on fooi (cost=0.00..4.26 rows=1 width=0) >> Index Cond: (cidade_fts @@ to_tsquery('assis'::text)) >> (4 rows) >> >> euler=# drop index fooi; >> DROP INDEX >> euler=# explain select * from foo where cidade_fts @@ to_tsquery('assis'); >> QUERY PLAN >> ------------------------------------------------------ >> Seq Scan on foo (cost=0.00..160.46 rows=1 width=39) >> Filter: (cidade_fts @@ to_tsquery('assis'::text)) >> (2 rows) >> >> >> -- >> Euler Taveira de Oliveira >> http://www.timbira.com/ >> _______________________________________________ >> pgbr-geral mailing list >> [email protected] >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> > > > > -- > []'s > > José Flávio M. V. Júnior >
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
