explain.depesz.com

PostgreSQL's explain analyze made readable

Result: FeLy : Optimization for: plan #5a8n

Settings

Optimization path:

# exclusive inclusive rows x rows loops node
1. 0.074 5.766 ↓ 397.0 397 1

Nested Loop (cost=411.63..9,585.46 rows=1 width=162) (actual time=5.491..5.766 rows=397 loops=1)

  • Output: pagamento.id, pagamento.operadora_id, pagamento.hospital_id, pagamento.convenio_id, pagamento.protocolo, pagamento.data_pagamento, pagamento.data_recebimento, guia_2018_11.id, guia_2018_11.pagamento_id, guia_2018_11.beneficiario_id, guia_2018_11.status_analise_glosa, guia_2018_11.numero, guia_2018_11.data_atendimento_inicio, guia_2018_11.data_atendimento_fim, guia_2018_11.senha, guia_2018_11.valor_total_apresentado, guia_2018_11.valor_total_pago, guia_2018_11.diferenca, guia_2018_11.valor_total_glosa_informada, guia_2018_11.quantidade_itens, guia_2018_11.id_tenant, guia_2018_11.id_nucleo, guia_2018_11.guia_associada, guia_2018_11.valor_total_recursado, guia_2018_11.valor_total_aceito, guia_2018_11.data_pagamento
  • Buffers: shared hit=2,968
2. 4.699 5.530 ↓ 4.5 18 1

Bitmap Heap Scan on teste_particionado.pagamento (cost=411.21..9,096.77 rows=4 width=51) (actual time=5.470..5.530 rows=18 loops=1)

  • Output: pagamento.id, pagamento.operadora_id, pagamento.hospital_id, pagamento.convenio_id, pagamento.protocolo, pagamento.data_pagamento, pagamento.data_recebimento
  • Recheck Cond: ((pagamento.data_pagamento >= '2018-11-10'::date) AND (pagamento.data_pagamento <= '2018-11-20'::date))
  • Filter: ((pagamento.convenio_id = 65) AND (pagamento.hospital_id = 18,764))
  • Rows Removed by Filter: 15,387
  • Heap Blocks: exact=2,845
  • Buffers: shared hit=2,890
3. 0.831 0.831 ↑ 1.3 15,405 1

Bitmap Index Scan on pagamento_data_pagamento (cost=0.00..411.20 rows=19,478 width=0) (actual time=0.831..0.831 rows=15,405 loops=1)

  • Index Cond: ((pagamento.data_pagamento >= '2018-11-10'::date) AND (pagamento.data_pagamento <= '2018-11-20'::date))
  • Buffers: shared hit=45
4. 0.162 0.162 ↓ 1.7 22 18

Index Scan using guia_2018_11_pagamento_id_idx on teste_particionado.guia_2018_11 (cost=0.42..122.04 rows=13 width=111) (actual time=0.003..0.009 rows=22 loops=18)

  • Output: guia_2018_11.id, guia_2018_11.pagamento_id, guia_2018_11.beneficiario_id, guia_2018_11.status_analise_glosa, guia_2018_11.numero, guia_2018_11.data_atendimento_inicio, guia_2018_11.data_atendimento_fim, guia_2018_11.senha, guia_2018_11.valor_total_apresentado, guia_2018_11.valor_total_pago, guia_2018_11.diferenca, guia_2018_11.valor_total_glosa_informada, guia_2018_11.quantidade_itens, guia_2018_11.id_tenant, guia_2018_11.id_nucleo, guia_2018_11.guia_associada, guia_2018_11.valor_total_recursado, guia_2018_11.valor_total_aceito, guia_2018_11.data_pagamento
  • Index Cond: (guia_2018_11.pagamento_id = pagamento.id)
  • Filter: ((guia_2018_11.data_pagamento >= '2018-11-10'::date) AND (guia_2018_11.data_pagamento <= '2018-11-20'::date))
  • Buffers: shared hit=78
Planning time : 0.322 ms
Execution time : 5.812 ms