explain.depesz.com

PostgreSQL's explain analyze made readable

Result: IRgv

Settings
# exclusive inclusive rows x rows loops node
1. 0.002 2,128.233 ↓ 10.0 10 1

Limit (cost=180,927.01..180,927.02 rows=1 width=96) (actual time=2,128.229..2,128.233 rows=10 loops=1)

  • Output: backup.id, cliente.codigo_crm, cliente.nome, backup.plano, backup.data_ultimo_backup, backup.data_ultimo_upload
  • Buffers: shared hit=33,849
2. 0.566 2,128.231 ↓ 10.0 10 1

Sort (cost=180,927.01..180,927.02 rows=1 width=96) (actual time=2,128.229..2,128.231 rows=10 loops=1)

  • Output: backup.id, cliente.codigo_crm, cliente.nome, backup.plano, backup.data_ultimo_backup, backup.data_ultimo_upload
  • Sort Key: backup.id
  • Sort Method: top-N heapsort Memory: 26kB
  • Buffers: shared hit=33,849
3. 0.485 2,127.665 ↓ 411.0 411 1

Nested Loop (cost=9,639.21..180,927.00 rows=1 width=96) (actual time=16.861..2,127.665 rows=411 loops=1)

  • Output: backup.id, cliente.codigo_crm, cliente.nome, backup.plano, backup.data_ultimo_backup, backup.data_ultimo_upload
  • Join Filter: (backup.cliente_id = cliente.id)
  • Buffers: shared hit=33,849
4. 1,296.086 2,124.303 ↓ 411.0 411 1

Nested Loop Semi Join (cost=9,638.79..180,919.51 rows=1 width=76) (actual time=16.849..2,124.303 rows=411 loops=1)

  • Output: backup.id, backup.plano, backup.data_ultimo_backup, backup.data_ultimo_upload, backup.cliente_id, licenca.id_cliente, backup_implantacao.cliente_id
  • Join Filter: (backup.cliente_id = backup_implantacao.cliente_id)
  • Rows Removed by Join Filter: 15,631,136
  • Buffers: shared hit=32,202
5. 1.834 42.817 ↓ 654.5 1,309 1

Nested Loop (cost=9,638.79..178,634.90 rows=2 width=68) (actual time=5.183..42.817 rows=1,309 loops=1)

  • Output: backup.id, backup.plano, backup.data_ultimo_backup, backup.data_ultimo_upload, backup.cliente_id, licenca.id_cliente
  • Buffers: shared hit=30,490
6. 2.204 33.051 ↓ 45.1 1,983 1

Nested Loop (cost=9,638.50..178,310.92 rows=44 width=4) (actual time=5.174..33.051 rows=1,983 loops=1)

  • Output: licenca.id_cliente
  • Buffers: shared hit=24,651
7. 20.312 22.915 ↓ 45.1 1,983 1

Bitmap Heap Scan on public.licenca_produto licencaproduto (cost=9,638.08..177,947.34 rows=44 width=4) (actual time=5.162..22.915 rows=1,983 loops=1)

  • Output: licencaproduto.id, licencaproduto.id_licenca, licencaproduto.id_produtopai, licencaproduto.nome, licencaproduto.trial, licencaproduto.codigo, licencaproduto.status, licencaproduto.permissao, licencaproduto.setor_updc, licencaproduto.trial_dias, licencaproduto.data_carencia, licencaproduto.identificador, licencaproduto.aplicativo_updc, licencaproduto.nome_apresentacao, licencaproduto.id_aplicativo_updc, licencaproduto.exibir_no_installer, licencaproduto.total_versao, licencaproduto.tipomovimentocobranca
  • Recheck Cond: (licencaproduto.id_aplicativo_updc = 2,207,237)
  • Filter: (licencaproduto.permissao @> '{"utilizar": true}'::jsonb)
  • Rows Removed by Filter: 3,006
  • Heap Blocks: exact=16,525
  • Buffers: shared hit=16,710
8. 2.603 2.603 ↑ 2.7 16,644 1

Bitmap Index Scan on idx_licencaproduto_idaplicativo (cost=0.00..9,638.07 rows=44,468 width=0) (actual time=2.603..2.603 rows=16,644 loops=1)

  • Index Cond: (licencaproduto.id_aplicativo_updc = 2,207,237)
  • Buffers: shared hit=185
9. 7.932 7.932 ↑ 1.0 1 1,983

Index Scan using licenca_pkey on public.licenca (cost=0.42..8.25 rows=1 width=8) (actual time=0.004..0.004 rows=1 loops=1,983)

  • Output: licenca.id, licenca.id_cliente, licenca.expira, licenca.versao_licenca, licenca.usuarios_permitidos
  • Index Cond: (licenca.id = licencaproduto.id_licenca)
  • Buffers: shared hit=7,941
10. 7.932 7.932 ↑ 1.0 1 1,983

Index Scan using uk_cliente_id on estatistica.backup (cost=0.29..7.35 rows=1 width=64) (actual time=0.004..0.004 rows=1 loops=1,983)

  • Output: backup.id, backup.cliente_id, backup.versao, backup.plano, backup.cloud_size, backup.cloud_free, backup.cloud_used, backup.disco_size, backup.disco_free, backup.ultimo_backup, backup.data_ultimo_backup, backup.telemetria_ultimo_backup, backup.ultimo_upload, backup.telemetria_ultimo_upload, backup.data_ultimo_upload, backup.diretorios, backup.comunicacao
  • Index Cond: (backup.cliente_id = licenca.id_cliente)
  • Filter: (backup.cloud_size > 0)
  • Rows Removed by Filter: 0
  • Buffers: shared hit=5,839
11. 779.811 785.400 ↓ 1.1 11,942 1,309

Materialize (cost=0.00..1,992.83 rows=11,233 width=8) (actual time=0.000..0.600 rows=11,942 loops=1,309)

  • Output: backup_implantacao.cliente_id
  • Buffers: shared hit=1,712
12. 5.589 5.589 ↓ 1.3 14,850 1

Seq Scan on estatistica.backup_implantacao (cost=0.00..1,936.66 rows=11,233 width=8) (actual time=0.005..5.589 rows=14,850 loops=1)

  • Output: backup_implantacao.cliente_id
  • Filter: (NOT backup_implantacao.implantado)
  • Rows Removed by Filter: 7,616
  • Buffers: shared hit=1,712
13. 2.877 2.877 ↑ 1.0 1 411

Index Scan using pk_cliente_id on public.cliente (cost=0.42..7.48 rows=1 width=48) (actual time=0.006..0.007 rows=1 loops=411)

  • Output: cliente.id, cliente.id_crm, cliente.codigo_crm, cliente.nome, cliente.nome_curto, cliente.cnpj, cliente.bairro, cliente.cidade, cliente.uf, cliente.cadastro, cliente.ultima_atualizacao, cliente.inadimplente, cliente.licenca, cliente.logradouro_tipo, cliente.logradouro, cliente.numero, cliente.complemento, cliente.cep, cliente.ie, cliente.im, cliente.token, cliente.id_externo, cliente.licenca_json, cliente.ativo, cliente.cnae
  • Index Cond: (cliente.id = licenca.id_cliente)
  • Filter: (NOT cliente.inadimplente)
  • Buffers: shared hit=1,647