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

Responder a