explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Cc8f

Settings
# exclusive inclusive rows x rows loops node
1. 0.033 6,552.588 ↑ 1.0 1 1

GroupAggregate (cost=3,623.20..3,623.23 rows=1 width=54) (actual time=6,552.586..6,552.588 rows=1 loops=1)

  • Output: sum(tabela.saldo_custo), tabela.id_conta, tabela.doc_emitente
  • Group Key: tabela.id_conta, tabela.doc_emitente
2. 0.045 6,552.555 ↓ 3.0 3 1

Sort (cost=3,623.20..3,623.21 rows=1 width=30) (actual time=6,552.551..6,552.555 rows=3 loops=1)

  • Output: tabela.id_conta, tabela.doc_emitente, tabela.saldo_custo
  • Sort Key: tabela.id_conta, tabela.doc_emitente
  • Sort Method: quicksort Memory: 25kB
3. 0.011 6,552.510 ↓ 3.0 3 1

Subquery Scan on tabela (cost=3,623.16..3,623.19 rows=1 width=30) (actual time=6,552.485..6,552.510 rows=3 loops=1)

  • Output: tabela.id_conta, tabela.doc_emitente, tabela.saldo_custo
4. 0.018 6,552.499 ↓ 3.0 3 1

Unique (cost=3,623.16..3,623.18 rows=1 width=50) (actual time=6,552.480..6,552.499 rows=3 loops=1)

  • Output: t.id_conta, t.doc_emitente, t.id_estoque, t.data_referencia, ((SubPlan 1)), t.saldo_custo
5. 0.042 6,552.481 ↓ 3.0 3 1

Sort (cost=3,623.16..3,623.17 rows=1 width=50) (actual time=6,552.477..6,552.481 rows=3 loops=1)

  • Output: t.id_conta, t.doc_emitente, t.id_estoque, t.data_referencia, ((SubPlan 1)), t.saldo_custo
  • Sort Key: t.id_conta, t.id_estoque, t.data_referencia, ((SubPlan 1)), t.saldo_custo
  • Sort Method: quicksort Memory: 25kB
6. 12.733 6,552.439 ↓ 3.0 3 1

Bitmap Heap Scan on sigest.tb_finan_movimento_anterior t (cost=1,396.75..3,623.15 rows=1 width=50) (actual time=1,212.111..6,552.439 rows=3 loops=1)

  • Output: t.id_conta, t.doc_emitente, t.id_estoque, t.data_referencia, (SubPlan 1), t.saldo_custo
  • Recheck Cond: (((t.doc_emitente)::text = '26461699032546'::text) AND ((t.uf_fk)::text = 'PR'::text) AND (t.programa_fk = '3'::bigint) AND (t.atividade_fk = '4'::bigint))
  • Filter: ((t.saldo_quantidade > '0'::numeric) AND (t.fonte_fk = '2'::bigint) AND (t.data_movimento = (SubPlan 2)))
  • Rows Removed by Filter: 2600
  • Heap Blocks: exact=41
7. 0.039 13.911 ↓ 0.0 0 1

BitmapAnd (cost=1,396.75..1,396.75 rows=2 width=0) (actual time=13.910..13.911 rows=0 loops=1)

8. 1.177 1.177 ↓ 1.1 7,137 1

Bitmap Index Scan on idx_finan_movimento_anterior_doc_emitente (cost=0.00..84.95 rows=6,270 width=0) (actual time=1.176..1.177 rows=7,137 loops=1)

  • Index Cond: ((t.doc_emitente)::text = '26461699032546'::text)
9. 2.741 2.741 ↓ 1.0 21,068 1

Bitmap Index Scan on idx_finan_movimento_anterior_uf_fk (cost=0.00..235.69 rows=20,169 width=0) (actual time=2.740..2.741 rows=21,068 loops=1)

  • Index Cond: ((t.uf_fk)::text = 'PR'::text)
10. 4.861 4.861 ↓ 1.0 45,635 1

Bitmap Index Scan on idx_finan_movimento_anterior_programa_fk (cost=0.00..530.62 rows=45,492 width=0) (actual time=4.860..4.861 rows=45,635 loops=1)

  • Index Cond: (t.programa_fk = '3'::bigint)
11. 5.093 5.093 ↓ 1.0 46,948 1

Bitmap Index Scan on idx_finan_movimento_anterior_atividade_fk (cost=0.00..544.74 rows=46,776 width=0) (actual time=5.092..5.093 rows=46,948 loops=1)

  • Index Cond: (t.atividade_fk = '4'::bigint)
12.          

SubPlan (forBitmap Heap Scan)

13. 0.045 8.409 ↑ 1.0 1 3

Aggregate (cost=741.11..741.12 rows=1 width=8) (actual time=2.802..2.803 rows=1 loops=3)

  • Output: max(tb_finan_movimento_anterior.data_movimento)
14. 5.835 8.364 ↓ 7.0 7 3

Bitmap Heap Scan on sigest.tb_finan_movimento_anterior (cost=8.98..741.11 rows=1 width=8) (actual time=1.227..2.788 rows=7 loops=3)

  • Output: tb_finan_movimento_anterior.id_conta, tb_finan_movimento_anterior.doc_emitente, tb_finan_movimento_anterior.uf_fk, tb_finan_movimento_anterior.programa_fk, tb_finan_movimento_anterior.atividade_fk, tb_finan_movimento_anterior.fonte_fk, tb_finan_movimento_anterior.id_estoque, tb_finan_movimento_anterior.data_referencia, tb_finan_movimento_anterior.data_movimento, tb_finan_movimento_anterior.saldo_custo, tb_finan_movimento_anterior.saldo_quantidade
  • Recheck Cond: ((tb_finan_movimento_anterior.doc_emitente)::text = (t.doc_emitente)::text)
  • Filter: ((tb_finan_movimento_anterior.data_referencia < '2019-03-15'::date) AND (tb_finan_movimento_anterior.id_estoque = t.id_estoque))
  • Rows Removed by Filter: 7130
  • Heap Blocks: exact=342
15. 2.529 2.529 ↓ 13.2 7,137 3

Bitmap Index Scan on idx_finan_movimento_anterior_doc_emitente (cost=0.00..8.98 rows=541 width=0) (actual time=0.843..0.843 rows=7,137 loops=3)

  • Index Cond: ((tb_finan_movimento_anterior.doc_emitente)::text = (t.doc_emitente)::text)
16. 98.298 6,517.386 ↑ 1.0 1 2,286

Aggregate (cost=741.11..741.12 rows=1 width=8) (actual time=2.850..2.851 rows=1 loops=2,286)

  • Output: max(tb_finan_movimento_anterior_1.data_movimento)
17. 4,523.994 6,419.088 ↓ 43.0 43 2,286

Bitmap Heap Scan on sigest.tb_finan_movimento_anterior tb_finan_movimento_anterior_1 (cost=8.98..741.11 rows=1 width=8) (actual time=1.404..2.808 rows=43 loops=2,286)

  • Output: tb_finan_movimento_anterior_1.id_conta, tb_finan_movimento_anterior_1.doc_emitente, tb_finan_movimento_anterior_1.uf_fk, tb_finan_movimento_anterior_1.programa_fk, tb_finan_movimento_anterior_1.atividade_fk, tb_finan_movimento_anterior_1.fonte_fk, tb_finan_movimento_anterior_1.id_estoque, tb_finan_movimento_anterior_1.data_referencia, tb_finan_movimento_anterior_1.data_movimento, tb_finan_movimento_anterior_1.saldo_custo, tb_finan_movimento_anterior_1.saldo_quantidade
  • Recheck Cond: ((tb_finan_movimento_anterior_1.doc_emitente)::text = (t.doc_emitente)::text)
  • Filter: ((tb_finan_movimento_anterior_1.data_referencia < '2019-03-15'::date) AND (tb_finan_movimento_anterior_1.id_estoque = t.id_estoque))
  • Rows Removed by Filter: 7094
  • Heap Blocks: exact=260604
18. 1,895.094 1,895.094 ↓ 13.2 7,137 2,286

Bitmap Index Scan on idx_finan_movimento_anterior_doc_emitente (cost=0.00..8.98 rows=541 width=0) (actual time=0.829..0.829 rows=7,137 loops=2,286)

  • Index Cond: ((tb_finan_movimento_anterior_1.doc_emitente)::text = (t.doc_emitente)::text)
Planning time : 1.164 ms