2014-08-04 11:06 GMT-03:00 Flavio Henrique Araque Gurgel
<[email protected] <mailto:[email protected]>>:
EXPLAIN ANALYZE SELECT movjulg.pk_processo ,
movjulg.intmunicipiocomarcaid,
movjulg.dtamovimento
FROM base.movimentacao movjulg
INNER JOIN tb_movimentacoes_cnj___julgamento tmcj
ON movjulg.inttipomovimentoid = tmcj.id <http://tmcj.id>
WHERE (movjulg.bolcancelado IS FALSE
AND movjulg.dtamovimento <= '2013-12-31 23:59:59-03');
http://explain.depesz.com/s/mIV
E os resultados abaixo:
SELECT count pk_processo FROM base_movimentacao;
60754114
SELECT count pk_processo FROM base_movimentacao WHERE bolcancelado =
FALSE ;
48162310
SELECT count pk_processo FROM base_movimentacao WHERE dtamovimento
<= '2013-12-31 23:59:59-03';
54669505
SELECT count pk_processo FROM base_movimentacao WHERE bolcancelado =
FALSE AND dtamovimento <= '2013-12-31 23:59:59-03';
42133259
Bruno E. A. Silva.
É Bruno, não tem muito jeito.
Você tem muitas linhas que retornam com esse seu filtro. Não há como
direcionar um índice aí não.
Se o resultado é o que você espera, então, paciência, é uma consulta
cara. Se você tiver discos SSD, talvez colocar random_page_cost como 1
vai direcionar para índices, mas se seus discos são rotativos, o seqscan
será mais barato.
[]s
Flavio Gurgel
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral