Caros,
Passei por problema deste tipo e precisei realizar a seguinte
modificação no arquivo postgresql.conf para que o banco utiliza-se os indices.
Na seção query tunning:
#---------------------------------------------------------------------------
# QUERY TUNING
#---------------------------------------------------------------------------
# - Planner Method Configuration -
enable_bitmapscan = off
enable_hashagg = on
enable_hashjoin = on
enable_indexscan = on
enable_mergejoin = on
enable_nestloop = on
enable_seqscan = off
enable_sort = on
enable_tidscan = on
Att.
-----Mensagem original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Em nome de [EMAIL PROTECTED]
Enviada em: segunda-feira, 2 de outubro de 2006 15:46
Para: [email protected]
Assunto: Digest Brasil-Usuarios, volume 309, assunto 3
Enviar submissões para a lista de discussão Brasil-Usuarios para
[email protected]
Para se cadastrar ou descadastrar via WWW, visite o endereço
http://pgfoundry.org/mailman/listinfo/brasil-usuarios
ou, via email, envie uma mensagem com a palavra 'help' no assunto ou corpo da
mensagem para
[EMAIL PROTECTED]
Você poderá entrar em contato com a pessoa que gerencia a lista pelo endereço
[EMAIL PROTECTED]
Quando responder, por favor edite sua linha Assunto assim ela será mais
específica que "Re: Contents of Brasil-Usuarios digest..."
Tópicos de Hoje:
1. Re: Esse SQL usa índice? (Walter Cruz)
2. Re: Esse SQL usa índice? (Nelson Pereira Júnior)
3. Saudações (Rander)
4. Re: Esse SQL usa índice? (Walter Cruz)
----------------------------------------------------------------------
Message: 1
Date: Mon, 2 Oct 2006 15:23:43 -0300
From: "Walter Cruz" <[EMAIL PROTECTED]>
Subject: Re: [PostgreSQL-Brasil] Esse SQL usa índice?
To: " Grupo de Usuários do PostgreSQL no Brasil "
<[email protected]>
Message-ID:
<[EMAIL PROTECTED]>
Content-Type: text/plain; charset="iso-8859-1"
posta aqui que a gente te dá uma mão!
[]'s
- Walter
On 10/2/06, Nelson Pereira Júnior <[EMAIL PROTECTED]> wrote:
>
> Obrigado pela ajuda.
>
> Eu até fiz isso, mas não entendi todos aqueles resultados :(
>
> ----- Original Message -----
> From: "Deleon Galvin" <[EMAIL PROTECTED]>
> To: "Grupo de Usuários do PostgreSQL no Brasil"
> <[email protected]>
> Sent: Monday, October 02, 2006 3:12 PM
> Subject: Re: [PostgreSQL-Brasil] Esse SQL usa índice?
>
>
> Olá amigo
>
> Execute o Explain que ele vai te dizer se estará utilizando ou não.
>
> EXPLAIN ANALYZE SELECT id, nome, fantasia FROM cliente WHERE razao
> like 'AN%' OR fantasia like 'AN%'
>
> Ali ele irá lhe fornecer os custos da consulta e também se utilizou um
> indice (index scan) e qual indice utilizou ou fez um full scan na
> tabela (Seq Scan)
>
> Espero ter ajudado.
> Um abraço!
>
>
>
> Em Seg, 2006-10-02 às 14:37 -0300, Nelson Pereira Júnior escreveu:
> > Olá amigos,
> >
> > Tenho uma relação com nome CLIENTE. Nela existe um campo RAZAO e um
> campo
> > FANTASIA. Criei 3 índices, um para o campo razão: idx_cliente_razao,
> outro
> > para o fantasia: idx_cliente_fantasia, e outro com os dois:
> > idx_cliente_razao_fantasia
> >
> > Imagine que tenho 1 milhão de registros.
> >
> > Quero procurar os cliente que comecem com "AN", tanto na razão
> > social quanto no nome fantasia em uma única pesqusia.
> >
> > Queria saber se eu executasse essa pesquisa, ela usaria os dois
> > índices para procurar, apenas 1, ou nenhum:
> >
> > SQL:
> >
> > SELECT id, nome, fantasia
> > FROM cliente
> > WHERE razao like 'AN%' OR fantasia like 'AN%'
> >
> > Queria saber qual dos índices ela usaria.
> >
> > _______________________________________________
> > Grupo de Usuários do PostgreSQL no Brasil Antes de perguntar
> > consulte o manual http://pgdocptbr.sourceforge.net/
> >
> > Para editar suas opções ou sair da lista acesse a página da lista em:
> > http://pgfoundry.org/mailman/listinfo/brasil-usuarios
>
> _______________________________________________
> Grupo de Usuários do PostgreSQL no Brasil Antes de perguntar consulte
> o manual http://pgdocptbr.sourceforge.net/
>
> Para editar suas opções ou sair da lista acesse a página da lista em:
> http://pgfoundry.org/mailman/listinfo/brasil-usuarios
>
> _______________________________________________
> Grupo de Usuários do PostgreSQL no Brasil Antes de perguntar consulte
> o manual http://pgdocptbr.sourceforge.net/
>
> Para editar suas opções ou sair da lista acesse a página da lista em:
> http://pgfoundry.org/mailman/listinfo/brasil-usuarios
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL:
http://pgfoundry.org/pipermail/brasil-usuarios/attachments/20061002/b7ed7b81/attachment-0001.html
------------------------------
Message: 2
Date: Mon, 2 Oct 2006 15:29:59 -0300
From: Nelson Pereira Júnior <[EMAIL PROTECTED]>
Subject: Re: [PostgreSQL-Brasil] Esse SQL usa índice?
To: Grupo de Usuários do PostgreSQL no Brasil
<[email protected]>
Message-ID: <[EMAIL PROTECTED]>
Content-Type: text/plain; charset="iso-8859-1"
Eu mandei fazer a pesquisa só pela RAZAO mas ele não usou o índice. Por que
isso? Ele deveria usar!
Diminuí a qtd de registros para 1.000
O índice é:
CREATE INDEX "idx_cliente_razao" ON "public"."cliente" USING btree ("razao");
Quando uso o select:
SELECT id, nome, fantasia FROM cliente WHERE razao like 'AN%'
Ele me retorna os registros corretamente, mas não usou o ínidice. Veja o
resultado:
Seq Scan on cliente (cost=0.00..3.75 rows=1 width=136) (actual
time=0.047..0.106 rows=3 loops=1)
Filter: ((razao)::text ~~ 'AN%'::text)
Alguém sabe o motivo? Ele deveria ter usado o índice!
----- Original Message -----
From: Walter Cruz
To: Grupo de Usuários do PostgreSQL no Brasil
Sent: Monday, October 02, 2006 3:10 PM
Subject: Re: [PostgreSQL-Brasil] Esse SQL usa índice?
Para esse tanto de resgistros, eu tenho quase certeza de que o índice não é
usado.
[]'s
- Walter
On 10/2/06, Deleon Galvin < [EMAIL PROTECTED]> wrote:
Olá amigo
Execute o Explain que ele vai te dizer se estará utilizando ou não.
EXPLAIN ANALYZE SELECT id, nome, fantasia FROM cliente WHERE razao like
'AN%' OR fantasia like 'AN%'
Ali ele irá lhe fornecer os custos da consulta e também se utilizou um
indice (index scan) e qual indice utilizou ou fez um full scan na tabela
(Seq Scan)
Espero ter ajudado.
Um abraço!
Em Seg, 2006-10-02 às 14:37 -0300, Nelson Pereira Júnior escreveu:
> Olá amigos,
>
> Tenho uma relação com nome CLIENTE. Nela existe um campo RAZAO e um campo
> FANTASIA. Criei 3 índices, um para o campo razão: idx_cliente_razao, outro
> para o fantasia: idx_cliente_fantasia, e outro com os dois:
> idx_cliente_razao_fantasia
>
> Imagine que tenho 1 milhão de registros.
>
> Quero procurar os cliente que comecem com "AN", tanto na razão social
quanto
> no nome fantasia em uma única pesqusia.
>
> Queria saber se eu executasse essa pesquisa, ela usaria os dois índices
para
> procurar, apenas 1, ou nenhum:
>
> SQL:
>
> SELECT id, nome, fantasia
> FROM cliente
> WHERE razao like 'AN%' OR fantasia like 'AN%'
>
> Queria saber qual dos índices ela usaria.
>
> _______________________________________________
> Grupo de Usuários do PostgreSQL no Brasil
> Antes de perguntar consulte o manual
> http://pgdocptbr.sourceforge.net/
>
> Para editar suas opções ou sair da lista acesse a página da lista em:
> http://pgfoundry.org/mailman/listinfo/brasil-usuarios
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/
Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios
------------------------------------------------------------------------------
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/
Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL:
http://pgfoundry.org/pipermail/brasil-usuarios/attachments/20061002/d0f79937/attachment-0001.html
------------------------------
Message: 3
Date: Mon, 2 Oct 2006 15:42:57 -0300
From: Rander <[EMAIL PROTECTED]>
Subject: [PostgreSQL-Brasil] Saudações
To: [email protected]
Message-ID:
<[EMAIL PROTECTED]>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Boa tarde senhores,
Em minha primeira participação nesta lista, gostaria de saber quais são os
tipos de dados suportados por este banco. Além é claro os presentes no padrão
Ansi.
Obrigado.
--
Rander de Paula Castro
Tecnólogo em Processamento de Dados
Desenvolvedor Delphi
62 8451 - 6448
------------------------------
Message: 4
Date: Mon, 2 Oct 2006 15:45:26 -0300
From: "Walter Cruz" <[EMAIL PROTECTED]>
Subject: Re: [PostgreSQL-Brasil] Esse SQL usa índice?
To: " Grupo de Usuários do PostgreSQL no Brasil "
<[email protected]>
Message-ID:
<[EMAIL PROTECTED]>
Content-Type: text/plain; charset="iso-8859-1"
depois de criar o índice vc fez o analyze da tabela?
Tentou com um explain analyze?
[]'s
- Walter
On 10/2/06, Nelson Pereira Júnior <[EMAIL PROTECTED]> wrote:
>
> Eu mandei fazer a pesquisa só pela RAZAO mas ele não usou o índice. Por
> que isso? Ele deveria usar!
>
> Diminuí a qtd de registros para 1.000
>
> O índice é:
> CREATE INDEX "idx_cliente_razao" ON "public"."cliente" USING btree
> ("razao");
>
> Quando uso o select:
>
> SELECT id, nome, fantasia FROM cliente WHERE razao like 'AN%'
>
> Ele me retorna os registros corretamente, mas não usou o ínidice. Veja o
> resultado:
> Seq Scan on cliente (cost=0.00..3.75 rows=1 width=136) (actual time=
> 0.047..0.106 rows=3 loops=1)
> Filter: ((razao)::text ~~ 'AN%'::text)
> Alguém sabe o motivo? Ele deveria ter usado o índice!
>
>
>
> ----- Original Message -----
> *From:* Walter Cruz <[EMAIL PROTECTED]>
> *To:* Grupo de Usuários do PostgreSQL no Brasil<[email protected]>
> *Sent:* Monday, October 02, 2006 3:10 PM
> *Subject:* Re: [PostgreSQL-Brasil] Esse SQL usa índice?
>
> Para esse tanto de resgistros, eu tenho quase certeza de que o índice não
> é usado.
>
> []'s
> - Walter
>
> On 10/2/06, Deleon Galvin < [EMAIL PROTECTED]> wrote:
> >
> > Olá amigo
> >
> > Execute o Explain que ele vai te dizer se estará utilizando ou não.
> >
> > EXPLAIN ANALYZE SELECT id, nome, fantasia FROM cliente WHERE razao like
> > 'AN%' OR fantasia like 'AN%'
> >
> > Ali ele irá lhe fornecer os custos da consulta e também se utilizou um
> > indice (index scan) e qual indice utilizou ou fez um full scan na tabela
> >
> > (Seq Scan)
> >
> > Espero ter ajudado.
> > Um abraço!
> >
> >
> >
> > Em Seg, 2006-10-02 às 14:37 -0300, Nelson Pereira Júnior escreveu:
> > > Olá amigos,
> > >
> > > Tenho uma relação com nome CLIENTE. Nela existe um campo RAZAO e um
> > campo
> > > FANTASIA. Criei 3 índices, um para o campo razão: idx_cliente_razao,
> > outro
> > > para o fantasia: idx_cliente_fantasia, e outro com os dois:
> > > idx_cliente_razao_fantasia
> > >
> > > Imagine que tenho 1 milhão de registros.
> > >
> > > Quero procurar os cliente que comecem com "AN", tanto na razão social
> > quanto
> > > no nome fantasia em uma única pesqusia.
> > >
> > > Queria saber se eu executasse essa pesquisa, ela usaria os dois
> > índices para
> > > procurar, apenas 1, ou nenhum:
> > >
> > > SQL:
> > >
> > > SELECT id, nome, fantasia
> > > FROM cliente
> > > WHERE razao like 'AN%' OR fantasia like 'AN%'
> > >
> > > Queria saber qual dos índices ela usaria.
> > >
> > > _______________________________________________
> > > Grupo de Usuários do PostgreSQL no Brasil
> > > Antes de perguntar consulte o manual
> > > http://pgdocptbr.sourceforge.net/
> > >
> > > Para editar suas opções ou sair da lista acesse a página da lista em:
> > > http://pgfoundry.org/mailman/listinfo/brasil-usuarios
> >
> > _______________________________________________
> > Grupo de Usuários do PostgreSQL no Brasil
> > Antes de perguntar consulte o manual
> > http://pgdocptbr.sourceforge.net/
> >
> > Para editar suas opções ou sair da lista acesse a página da lista em:
> > http://pgfoundry.org/mailman/listinfo/brasil-usuarios
> >
>
> ------------------------------
>
> _______________________________________________
> Grupo de Usuários do PostgreSQL no Brasil
> Antes de perguntar consulte o manual
> http://pgdocptbr.sourceforge.net/
>
> Para editar suas opções ou sair da lista acesse a página da lista em:
> http://pgfoundry.org/mailman/listinfo/brasil-usuarios
>
>
> _______________________________________________
> Grupo de Usuários do PostgreSQL no Brasil
> Antes de perguntar consulte o manual
> http://pgdocptbr.sourceforge.net/
>
> Para editar suas opções ou sair da lista acesse a página da lista em:
> http://pgfoundry.org/mailman/listinfo/brasil-usuarios
>
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL:
http://pgfoundry.org/pipermail/brasil-usuarios/attachments/20061002/4218de41/attachment.html
------------------------------
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
http://www.postgresql.org.br
http://pgfoundry.org/mailman/listinfo/brasil-usuarios
Fim da Digest Brasil-Usuarios, volume 309, assunto 3
****************************************************
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/
Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios