explain.depesz.com

PostgreSQL's explain analyze made readable

Result: oKh5 : Optimization for: plan #OzXd

Settings

Optimization path:

# exclusive inclusive rows x rows loops node
1. 0.002 20.531 ↓ 0.0 0 1

Limit (cost=134,607.98..134,607.99 rows=1 width=1,772) (actual time=20.531..20.531 rows=0 loops=1)

  • Buffers: shared hit=6429
2. 0.010 20.529 ↓ 0.0 0 1

Sort (cost=134,607.98..134,607.99 rows=1 width=1,772) (actual time=20.529..20.529 rows=0 loops=1)

  • Sort Key: document_base.number_value, document_base.number, document_base.id
  • Sort Method: quicksort Memory: 25kB
  • Buffers: shared hit=6429
3. 0.001 20.519 ↓ 0.0 0 1

Nested Loop (cost=4.25..134,607.97 rows=1 width=1,772) (actual time=20.519..20.519 rows=0 loops=1)

  • Buffers: shared hit=6429
4. 0.002 20.518 ↓ 0.0 0 1

Nested Loop (cost=4.25..134,591.9 rows=1 width=1,506) (actual time=20.518..20.518 rows=0 loops=1)

  • Buffers: shared hit=6429
5. 0.000 20.516 ↓ 0.0 0 1

Nested Loop (cost=4.25..134,531.05 rows=1 width=1,498) (actual time=20.516..20.516 rows=0 loops=1)

  • Buffers: shared hit=6429
6. 0.000 20.516 ↓ 0.0 0 1

Nested Loop (cost=3.83..134,529.56 rows=1 width=1,460) (actual time=20.516..20.516 rows=0 loops=1)

  • Buffers: shared hit=6429
7. 0.001 20.516 ↓ 0.0 0 1

Nested Loop (cost=3.4..134,525.58 rows=1 width=1,309) (actual time=20.516..20.516 rows=0 loops=1)

  • Buffers: shared hit=6429
8. 0.000 20.515 ↓ 0.0 0 1

Nested Loop (cost=3.11..134,524.2 rows=1 width=1,186) (actual time=20.515..20.515 rows=0 loops=1)

  • Buffers: shared hit=6429
9. 0.000 20.515 ↓ 0.0 0 1

Nested Loop (cost=2.69..134,521.8 rows=1 width=993) (actual time=20.515..20.515 rows=0 loops=1)

  • Buffers: shared hit=6429
10. 0.001 20.515 ↓ 0.0 0 1

Nested Loop (cost=2.26..134,520.22 rows=1 width=754) (actual time=20.515..20.515 rows=0 loops=1)

  • Buffers: shared hit=6429
11. 0.000 20.514 ↓ 0.0 0 1

Nested Loop (cost=1.83..134,517.54 rows=1 width=590) (actual time=20.514..20.514 rows=0 loops=1)

  • Buffers: shared hit=6429
12. 4.398 20.514 ↓ 0.0 0 1

Nested Loop (cost=1.42..134,515.9 rows=1 width=483) (actual time=20.514..20.514 rows=0 loops=1)

  • Buffers: shared hit=6429
13. 2.724 2.724 ↑ 4.5 48 1

Seq Scan on dicts_department dicts_department (cost=0..532.12 rows=217 width=91) (actual time=0.161..2.724 rows=48 loops=1)

  • Filter: (dicts_department.ent_id = ANY ('{8210,8211,1086,1599,1600,1608,1609,1610,1611,1612,1626,1627,1628,1634,1636,1639,1640,1641,1642,1643,1677,1680,1686,1687,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,837,838,839,843,844,845,847,851,853,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,1421,1422,1423,1433}'::integer[]))
  • Buffers: shared hit=40
14. 3.667 13.392 ↓ 775.0 775 48

Materialize (cost=1.42..133,980.52 rows=1 width=392) (actual time=0.003..0.279 rows=775 loops=48)

  • Buffers: shared hit=6389
15. 0.794 9.725 ↓ 775.0 775 1

Nested Loop (cost=1.42..133,980.52 rows=1 width=392) (actual time=0.127..9.725 rows=775 loops=1)

  • Buffers: shared hit=6389
16. 0.682 5.831 ↓ 38.8 775 1

Nested Loop (cost=0.99..133,941.24 rows=20 width=345) (actual time=0.089..5.831 rows=775 loops=1)

  • Buffers: shared hit=3285
17. 1.180 1.180 ↑ 1.0 441 1

Index Scan using document_types_ent_id_7f9fb2f26c3ba828 on document_types document_types (cost=0.43..2,350.95 rows=447 width=152) (actual time=0.023..1.18 rows=441 loops=1)

  • Index Cond: ((document_types.ent_id = ANY ('{8210,8211,1086,1599,1600,1608,1609,1610,1611,1612,1626,1627,1628,1634,1636,1639,1640,1641,1642,1643,1677,1680,1686,1687,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,837,838,839,843,844,845,847,851,853,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,1421,1422,1423,1433}'::integer[])) AND ((document_types.document_code)::text = 'tov_nakl'::text))
  • Buffers: shared hit=668
18. 3.969 3.969 ↑ 1.0 2 441

Index Scan using document_base_ent_id_date_formatting_state_type_idx on document_base document_base (cost=0.56..294.37 rows=2 width=193) (actual time=0.006..0.009 rows=2 loops=441)

  • Index Cond: ((document_base.type_id = document_types.id) AND (document_base.date_formatting <= '2019-12-31'::date) AND (document_base.date_formatting >= '2019-01-01'::date))
  • Filter: ((document_base.state <> 4) AND (document_base.ent_id = ANY ('{8210,8211,1086,1599,1600,1608,1609,1610,1611,1612,1626,1627,1628,1634,1636,1639,1640,1641,1642,1643,1677,1680,1686,1687,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,837,838,839,843,844,845,847,851,853,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,1421,1422,1423,1433}'::bigint[])))
  • Buffers: shared hit=2617
19. 3.100 3.100 ↑ 1.0 1 775

Index Scan using document_invoice_pkey on document_invoice document_invoice (cost=0.43..1.95 rows=1 width=47) (actual time=0.004..0.004 rows=1 loops=775)

  • Index Cond: (document_invoice.basedocumentmodel_ptr_id = document_base.id)
  • Buffers: shared hit=3104
20. 0.000 0.000 ↓ 0.0 0 0

Index Scan using contragent_mol_pkey on contragent_mol contragent_mol (cost=0.42..1.63 rows=1 width=107) (never executed)

  • Index Cond: (document_base.mol_id = contragent_mol.id)
21. 0.000 0.000 ↓ 0.0 0 0

Index Scan using contragent_supplier_pkey on contragent_supplier contragent_supplier (cost=0.43..2.66 rows=1 width=164) (never executed)

  • Index Cond: (document_base.supplier_id = contragent_supplier.id)
22. 0.000 0.000 ↓ 0.0 0 0

Index Scan using contragent_corporation_pkey on contragent_corporation contragent_corporation (cost=0.42..1.58 rows=1 width=239) (never executed)

  • Index Cond: (contragent_supplier.corporation_id = contragent_corporation.id)
23. 0.000 0.000 ↓ 0.0 0 0

Index Scan using kbk_pkey on kbk kbk (cost=0.42..2.39 rows=1 width=193) (never executed)

  • Index Cond: (document_base.kbk_id = kbk.id)
24. 0.000 0.000 ↓ 0.0 0 0

Index Scan using kbk_activity_type_pkey on kbk_activity_type kbk_activity_type (cost=0.29..1.37 rows=1 width=123) (never executed)

  • Index Cond: (document_base.kvd_id = kbk_activity_type.id)
25. 0.000 0.000 ↓ 0.0 0 0

Index Scan using unidictrec_pkey on unidictrec unidictrec (cost=0.43..3.97 rows=1 width=151) (never executed)

  • Index Cond: (document_base.kvd_analytic_id = unidictrec.id)
26. 0.000 0.000 ↓ 0.0 0 0

Index Scan using contract_pkey on contract contract (cost=0.42..1.48 rows=1 width=38) (never executed)

  • Index Cond: (document_invoice.contract_id = contract.id)
27. 0.000 0.000 ↓ 0.0 0 0

Seq Scan on external_relation_with_document external_relation_with_document (cost=0..32.6 rows=2,260 width=8) (never executed)

28. 0.000 0.000 ↓ 0.0 0 0

Seq Scan on doc_external_relation doc_external_relation (cost=0..12.7 rows=270 width=266) (never executed)