Em 18-02-2014 16:59, Rafael Fialho Corrêa escreveu:
Em 18 de fevereiro de 2014 16:49, Prof. Cleverson <[email protected] <mailto:[email protected]>> escreveu:

    Em 18-02-2014 16:38, Prof. Cleverson escreveu:

        Tenho a seguinte consulta que retorna apenas 1 registro de 10
        colunas:
        select * from tac_avaliacao left join tac_nota on
        (codava=avanot) where hisnot=359921 and fasava=81

        a tabela avaliação tem 15000 registros
        a tabela de notas tem 660000 registros

        explain:
        "Nested Loop  (cost=0.00..12474.40 rows=1 width=46) (actual
        time=24228.265..45081.510 rows=1 loops=1)"
        "  Join Filter: (tac_avaliacao.codava = tac_nota.avanot)"
        "  Rows Removed by Join Filter: 1025"
        "  ->  Index Scan using tac_avaliacao_fasava_idx on
        tac_avaliacao  (cost=0.00..4.55 rows=1 width=29) (actual
        time=0.020..1.927 rows=513 loops=1)"
        "        Index Cond: (fasava = 81)"
        "  ->  Seq Scan on tac_nota  (cost=0.00..12469.80 rows=4
        width=17) (actual time=44.727..87.866 rows=2 loops=513)"
        "        Filter: (hisnot = 359921)"
        "        Rows Removed by Filter: 669822"
        "Total runtime: 45081.543 ms"

        pq será que isto demora 45 segundos? Algum indice não está
        sendo usado?

    Um detalhe interessante que vi agora: se eu tirar a condição and
    fasava=81 a consulta demora 71 ms


"fasava" seria um campo da tabela "tac_nota" e "hisnot" um campo da tabela "tac_avaliacao", certo?


_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Sim, fasava é um campo de tac_avaliação. Ambos os campos do where são chaves estrangeiras.


--
  .~.    Prof. Cleverson B. Klettenberg
 / v \   [email protected]
/(   )\
 ^^-^^   Seja Livre!

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a