explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 3DDt

Settings
# exclusive inclusive rows x rows loops node
1. 0.003 23,359.914 ↓ 11.0 11 1

Limit (cost=425,767.15..425,853.04 rows=1 width=2,311) (actual time=23,344.612..23,359.914 rows=11 loops=1)

  • Output: (concat_ws('_'::text, rec.batchid, rec.hmid, rec.fsparentid, rec.sendstoreid, rec.price, rec.batchseries, rec.storesupplyid)), (COALESCE($5, rec.fsparentid)), (COALESCE($6, (SubPlan 7))), ($8), ($9), ($10), rec.hmname, rec.hmid, rec.i_names_rus, rec.batchseries, (rtrim(to_char(rec.price, 'FM999999999990.99'::text), '.'::text)), ($11), (sum(rec.minbalancemneiquantity)), rec.quantity, rec.mneiquantity, ((SubPlan 13)), rec.sendstoreid, (CASE WHEN (rec.isrejected = ANY ('{2,3,4}'::integer[])) THEN '!'::text ELSE NULL::text END), rec.isrejected, (CASE WHEN (rec.isrejected = 2) THEN 'Приостановление'::text ELSE CASE WHEN (rec.isrejected = 3) THEN 'Изъятие'::text ELSE CASE WHEN (rec.isrejected = 4) THEN 'Контроль'::text ELSE NULL::text END END END), rec.storesupplytypepackagingid, rec.storesupplyid, ((SubPlan 14)), (CASE WHEN ((((SubPlan 15))::timestamp with time zone - now()) <= '00:00:00'::interval) THEN 'text-error'::text WHEN ((((SubPlan 16))::timestamp with time zone - now()) <= '1 mon'::interval) THEN 'text-info'::text WHEN ((((SubPlan 17))::timestamp with time zone - now()) <= '2 mons'::interval) THEN 'text-success'::text ELSE NULL::text END), ((alternatives: SubPlan 18 or hashed SubPlan 19)), ($23), rec.batchid, rec.fsparentid, rec.comgroupid, rec.countinsecpack, rec.hold_inn_id, rec.unitflag, rec.mneiid, rec.unitname, rec.mneiunitname, rec.price
  • Buffers: shared hit=1400542 read=9623
  • I/O Timings: read=10165.267
2.          

CTE rec

3. 17,558.301 23,226.809 ↑ 1.1 20,960 1

Hash Left Join (cost=6,003.17..425,104.81 rows=22,076 width=393) (actual time=447.619..23,226.809 rows=20,960 loops=1)

  • Output: f.id, f.name, COALESCE(f.id, f.parent_id), round((inventory.get_store_opr_jur_quantity_at_date(ss.id, ('now'::cstring)::date, true)).quantity, 3), round((inventory.get_store_opr_jur_quantity_at_date(ss.id, ('now'::cstring)::date, true)).mnei_quantity, 3), ss.id, ss.type_packaging_id, hm.id, hm.name, hm.price_unit_flag, hm.mnei_id, hold.commodity_group_id, ss.store_id, inventory.get_unit_name_by_flag_of_modif(hm.price_unit_flag, hm.id), measure.mnemocode, COALESCE(hm.mnei_count_in_sec_pk, 1), hold.inn_id, (SubPlan 1), (SubPlan 2), (SubPlan 3), b.id, b.series, irl.operation_type_id
  • Hash Cond: (irls.letter_id = irl.id)
  • Buffers: shared hit=1400054 read=9607
  • I/O Timings: read=10147.439
4. 12.017 659.051 ↑ 1.1 20,960 1

Hash Left Join (cost=6,002.04..15,621.47 rows=22,076 width=201) (actual time=432.928..659.051 rows=20,960 loops=1)

  • Output: f.id, f.name, f.parent_id, ss.id, ss.type_packaging_id, ss.store_id, b.id, b.series, hm.id, hm.name, hm.price_unit_flag, hm.mnei_id, hm.mnei_count_in_sec_pk, hold.commodity_group_id, hold.inn_id, measure.mnemocode, irls.letter_id
  • Hash Cond: (b.rej_goods_journal_id = irls.rej_journal_id)
  • Buffers: shared hit=3784 read=2446
  • I/O Timings: read=356.765
5. 18.930 647.013 ↑ 1.1 20,960 1

Hash Left Join (cost=6,000.92..15,537.56 rows=22,076 width=201) (actual time=432.877..647.013 rows=20,960 loops=1)

  • Output: f.id, f.name, f.parent_id, ss.id, ss.type_packaging_id, ss.store_id, b.id, b.series, b.rej_goods_journal_id, hm.id, hm.name, hm.price_unit_flag, hm.mnei_id, hm.mnei_count_in_sec_pk, hold.commodity_group_id, hold.inn_id, measure.mnemocode
  • Hash Cond: (hm.mnei_id = measure.id)
  • Buffers: shared hit=3783 read=2446
  • I/O Timings: read=356.765
6. 24.413 627.385 ↑ 1.1 20,960 1

Hash Join (cost=5,959.80..15,192.93 rows=22,076 width=184) (actual time=432.117..627.385 rows=20,960 loops=1)

  • Output: f.id, f.name, f.parent_id, ss.id, ss.type_packaging_id, ss.store_id, b.id, b.series, b.rej_goods_journal_id, hm.id, hm.name, hm.price_unit_flag, hm.mnei_id, hm.mnei_count_in_sec_pk, hold.commodity_group_id, hold.inn_id
  • Hash Cond: (hm.holding_id = hold.id)
  • Buffers: shared hit=3777 read=2421
  • I/O Timings: read=356.372
7. 27.633 592.004 ↑ 1.1 20,960 1

Hash Join (cost=5,399.29..14,328.88 rows=22,076 width=180) (actual time=421.009..592.004 rows=20,960 loops=1)

  • Output: f.id, f.name, f.parent_id, ss.id, ss.type_packaging_id, ss.store_id, b.id, b.series, b.rej_goods_journal_id, hm.id, hm.name, hm.price_unit_flag, hm.mnei_id, hm.mnei_count_in_sec_pk, hm.holding_id
  • Hash Cond: (b.hold_modif_id = hm.id)
  • Buffers: shared hit=3774 read=2160
  • I/O Timings: read=352.183
8. 29.160 514.288 ↑ 1.1 20,960 1

Hash Join (cost=3,391.13..12,017.17 rows=22,076 width=80) (actual time=370.626..514.288 rows=20,960 loops=1)

  • Output: f.id, f.name, f.parent_id, ss.id, ss.type_packaging_id, ss.store_id, b.id, b.series, b.hold_modif_id, b.rej_goods_journal_id
  • Hash Cond: (ss.batch_id = b.id)
  • Buffers: shared hit=3417 read=1015
  • I/O Timings: read=331.579
9. 20.684 374.312 ↑ 1.1 20,960 1

Hash Join (cost=1,042.38..9,364.87 rows=22,076 width=69) (actual time=259.107..374.312 rows=20,960 loops=1)

  • Output: f.id, f.name, f.parent_id, ss.id, ss.type_packaging_id, ss.store_id, ss.batch_id
  • Hash Cond: (ss.funding_source_id = f.id)
  • Buffers: shared hit=3412 read=95
  • I/O Timings: read=268.589
10. 95.210 353.517 ↑ 1.1 20,960 1

Bitmap Heap Scan on inventory.store_supply ss (cost=1,035.51..9,054.46 rows=22,076 width=20) (actual time=258.934..353.517 rows=20,960 loops=1)

  • Output: ss.id, ss.type_packaging_id, ss.store_id, ss.funding_source_id, ss.batch_id
  • Recheck Cond: (ss.store_id = 4)
  • Heap Blocks: exact=3426
  • Buffers: shared hit=3409 read=95
  • I/O Timings: read=268.589
11. 258.307 258.307 ↑ 1.1 20,960 1

Bitmap Index Scan on store_supply_store_id_ix (cost=0.00..1,029.99 rows=22,076 width=0) (actual time=258.307..258.307 rows=20,960 loops=1)

  • Index Cond: (ss.store_id = 4)
  • Buffers: shared read=78
  • I/O Timings: read=254.366
12. 0.044 0.111 ↓ 1.0 173 1

Hash (cost=4.72..4.72 rows=172 width=53) (actual time=0.111..0.111 rows=173 loops=1)

  • Output: f.id, f.name, f.parent_id
  • Buckets: 1024 Batches: 1 Memory Usage: 22kB
  • Buffers: shared hit=3
13. 0.067 0.067 ↓ 1.0 173 1

Seq Scan on inventory.funding_source f (cost=0.00..4.72 rows=172 width=53) (actual time=0.010..0.067 rows=173 loops=1)

  • Output: f.id, f.name, f.parent_id
  • Buffers: shared hit=3
14. 25.629 110.816 ↓ 1.0 63,325 1

Hash (cost=1,557.78..1,557.78 rows=63,278 width=15) (actual time=110.816..110.816 rows=63,325 loops=1)

  • Output: b.id, b.series, b.hold_modif_id, b.rej_goods_journal_id
  • Buckets: 65536 Batches: 1 Memory Usage: 3359kB
  • Buffers: shared hit=5 read=920
  • I/O Timings: read=62.990
15. 85.187 85.187 ↓ 1.0 63,325 1

Seq Scan on inventory.batch b (cost=0.00..1,557.78 rows=63,278 width=15) (actual time=0.029..85.187 rows=63,325 loops=1)

  • Output: b.id, b.series, b.hold_modif_id, b.rej_goods_journal_id
  • Buffers: shared hit=5 read=920
  • I/O Timings: read=62.990
16. 13.270 50.083 ↓ 1.0 22,497 1

Hash (cost=1,726.96..1,726.96 rows=22,496 width=104) (actual time=50.083..50.083 rows=22,497 loops=1)

  • Output: hm.id, hm.name, hm.price_unit_flag, hm.mnei_id, hm.mnei_count_in_sec_pk, hm.holding_id
  • Buckets: 32768 Batches: 1 Memory Usage: 3276kB
  • Buffers: shared hit=357 read=1145
  • I/O Timings: read=20.604
17. 36.813 36.813 ↓ 1.0 22,497 1

Seq Scan on inventory.hold_modif hm (cost=0.00..1,726.96 rows=22,496 width=104) (actual time=0.011..36.813 rows=22,497 loops=1)

  • Output: hm.id, hm.name, hm.price_unit_flag, hm.mnei_id, hm.mnei_count_in_sec_pk, hm.holding_id
  • Buffers: shared hit=357 read=1145
  • I/O Timings: read=20.604
18. 3.040 10.968 ↓ 1.0 13,181 1

Hash (cost=395.78..395.78 rows=13,178 width=12) (actual time=10.967..10.968 rows=13,181 loops=1)

  • Output: hold.commodity_group_id, hold.inn_id, hold.id
  • Buckets: 16384 Batches: 1 Memory Usage: 662kB
  • Buffers: shared hit=3 read=261
  • I/O Timings: read=4.189
19. 7.928 7.928 ↓ 1.0 13,181 1

Seq Scan on inventory.holding hold (cost=0.00..395.78 rows=13,178 width=12) (actual time=0.053..7.928 rows=13,181 loops=1)

  • Output: hold.commodity_group_id, hold.inn_id, hold.id
  • Buffers: shared hit=3 read=261
  • I/O Timings: read=4.189
20. 0.114 0.698 ↑ 1.0 450 1

Hash (cost=35.50..35.50 rows=450 width=21) (actual time=0.698..0.698 rows=450 loops=1)

  • Output: measure.mnemocode, measure.id
  • Buckets: 1024 Batches: 1 Memory Usage: 33kB
  • Buffers: shared hit=6 read=25
  • I/O Timings: read=0.393
21. 0.584 0.584 ↑ 1.0 450 1

Seq Scan on public.cmn_measure measure (cost=0.00..35.50 rows=450 width=21) (actual time=0.020..0.584 rows=450 loops=1)

  • Output: measure.mnemocode, measure.id
  • Buffers: shared hit=6 read=25
  • I/O Timings: read=0.393
22. 0.010 0.021 ↑ 1.2 4 1

Hash (cost=1.05..1.05 rows=5 width=8) (actual time=0.021..0.021 rows=4 loops=1)

  • Output: irls.rej_journal_id, irls.letter_id
  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
  • Buffers: shared hit=1
23. 0.011 0.011 ↑ 1.0 5 1

Seq Scan on inventory.rejection_letter_spec irls (cost=0.00..1.05 rows=5 width=8) (actual time=0.009..0.011 rows=5 loops=1)

  • Output: irls.rej_journal_id, irls.letter_id
  • Buffers: shared hit=1
24. 0.008 0.017 ↑ 1.0 6 1

Hash (cost=1.06..1.06 rows=6 width=8) (actual time=0.017..0.017 rows=6 loops=1)

  • Output: irl.operation_type_id, irl.id
  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
  • Buffers: shared hit=1
25. 0.009 0.009 ↑ 1.0 6 1

Seq Scan on inventory.rejection_letter irl (cost=0.00..1.06 rows=6 width=8) (actual time=0.007..0.009 rows=6 loops=1)

  • Output: irl.operation_type_id, irl.id
  • Buffers: shared hit=1
26.          

SubPlan (for Hash Left Join)

27. 62.880 62.880 ↓ 0.0 0 20,960

Index Scan using inn_id_pk on inventory.inn i (cost=0.28..8.30 rows=1 width=46) (actual time=0.003..0.003 rows=0 loops=20,960)

  • Output: i.name_rus
  • Index Cond: (i.id = hold.inn_id)
  • Buffers: shared hit=22417 read=46
  • I/O Timings: read=12.206
28. 20.960 146.720 ↑ 1.0 1 20,960

Aggregate (cost=9.20..9.21 rows=1 width=32) (actual time=0.007..0.007 rows=1 loops=20,960)

  • Output: COALESCE(sum(bal.quantity), '0'::numeric)
  • Buffers: shared hit=20959 read=1
  • I/O Timings: read=4.077
29. 83.840 125.760 ↓ 0.0 0 20,960

Nested Loop (cost=0.15..9.19 rows=1 width=5) (actual time=0.006..0.006 rows=0 loops=20,960)

  • Output: bal.quantity
  • Buffers: shared hit=20959 read=1
  • I/O Timings: read=4.077
30. 41.920 41.920 ↓ 0.0 0 20,960

Seq Scan on inventory.hold_modif_min_balance bal (cost=0.00..1.02 rows=1 width=9) (actual time=0.002..0.002 rows=0 loops=20,960)

  • Output: bal.id, bal.hold_modif_id, bal.quantity, bal.store_id, bal.aud_who, bal.aud_when, bal.aud_source, bal.aud_who_create, bal.aud_when_create, bal.aud_source_create, bal.fund_source_id
  • Filter: ((bal.store_id = 4) AND (bal.hold_modif_id = hm.id) AND (bal.fund_source_id = f.id))
  • Rows Removed by Filter: 1
  • Buffers: shared hit=20959 read=1
  • I/O Timings: read=4.077
31. 0.000 0.000 ↓ 0.0 0

Index Only Scan using store_id_pk on inventory.store min_s (cost=0.15..8.17 rows=1 width=4) (never executed)

  • Output: min_s.id
  • Index Cond: (min_s.id = 4)
  • Heap Fetches: 0
32. 4,799.840 4,799.840 ↑ 1.0 1 20,960

Result (cost=0.00..0.27 rows=1 width=32) (actual time=0.229..0.229 rows=1 loops=20,960)

  • Output: inventory.get_store_supply_price_at_date(ss.id, ('now'::cstring)::date, true)
  • Buffers: shared hit=502932 read=1
  • I/O Timings: read=0.014
33.          

Initplan (for Limit)

34. 0.001 0.001 ↓ 0.0 0 1

Result (cost=0.00..0.00 rows=0 width=4) (actual time=0.001..0.001 rows=0 loops=1)

  • Output: id
  • One-Time Filter: false
35. 0.000 0.000 ↓ 0.0 0 1

Result (cost=0.00..0.00 rows=0 width=516) (actual time=0.000..0.000 rows=0 loops=1)

  • Output: name
  • One-Time Filter: false
36. 0.000 0.000 ↑ 1.0 1 1

Result (cost=0.00..0.01 rows=1 width=4) (actual time=0.000..0.000 rows=1 loops=1)

  • Output: 71684
37. 0.000 0.000 ↑ 1.0 1 1

Result (cost=0.00..0.01 rows=1 width=32) (actual time=0.000..0.000 rows=1 loops=1)

  • Output: '2019-9339'
38. 0.000 0.000 ↑ 1.0 1 1

Result (cost=0.00..0.01 rows=1 width=32) (actual time=0.000..0.000 rows=1 loops=1)

  • Output: '03.12.2019'
39. 0.001 0.001 ↑ 1.0 1 1

Result (cost=0.00..0.01 rows=1 width=4) (actual time=0.001..0.001 rows=1 loops=1)

  • Output: NULL::date
40. 0.001 0.001 ↑ 1.0 1 1

Result (cost=0.00..0.01 rows=1 width=32) (actual time=0.001..0.001 rows=1 loops=1)

  • Output: 'Добавлена в документ'
41. 0.398 23,359.908 ↓ 11.0 11 1

GroupAggregate (cost=662.29..748.18 rows=1 width=2,311) (actual time=23,344.611..23,359.908 rows=11 loops=1)

  • Output: concat_ws('_'::text, rec.batchid, rec.hmid, rec.fsparentid, rec.sendstoreid, rec.price, rec.batchseries, rec.storesupplyid), COALESCE($5, rec.fsparentid), COALESCE($6, (SubPlan 7)), $8, $9, $10, rec.hmname, rec.hmid, rec.i_names_rus, rec.batchseries, rtrim(to_char(rec.price, 'FM999999999990.99'::text), '.'::text), $11, sum(rec.minbalancemneiquantity), rec.quantity, rec.mneiquantity, (SubPlan 13), rec.sendstoreid, CASE WHEN (rec.isrejected = ANY ('{2,3,4}'::integer[])) THEN '!'::text ELSE NULL::text END, rec.isrejected, CASE WHEN (rec.isrejected = 2) THEN 'Приостановление'::text ELSE CASE WHEN (rec.isrejected = 3) THEN 'Изъятие'::text ELSE CASE WHEN (rec.isrejected = 4) THEN 'Контроль'::text ELSE NULL::text END END END, rec.storesupplytypepackagingid, rec.storesupplyid, (SubPlan 14), CASE WHEN ((((SubPlan 15))::timestamp with time zone - now()) <= '00:00:00'::interval) THEN 'text-error'::text WHEN ((((SubPlan 16))::timestamp with time zone - now()) <= '1 mon'::interval) THEN 'text-info'::text WHEN ((((SubPlan 17))::timestamp with time zone - now()) <= '2 mons'::interval) THEN 'text-success'::text ELSE NULL::text END, (alternatives: SubPlan 18 or hashed SubPlan 19), $23, rec.batchid, rec.fsparentid, rec.comgroupid, rec.countinsecpack, rec.hold_inn_id, rec.unitflag, rec.mneiid, rec.unitname, rec.mneiunitname, rec.price
  • Group Key: rec.hmname, rec.batchid, rec.fsparentid, rec.hmid, rec.sendstoreid, rec.comgroupid, rec.countinsecpack, rec.i_names_rus, rec.hold_inn_id, rec.unitflag, rec.mneiid, rec.unitname, rec.quantity, rec.mneiquantity, rec.mneiunitname, rec.price, rec.batchseries, rec.isrejected, rec.storesupplyid, rec.storesupplytypepackagingid
  • Buffers: shared hit=1400542 read=9623
  • I/O Timings: read=10165.267
42. 4.045 23,336.839 ↓ 12.0 12 1

Sort (cost=662.29..662.29 rows=1 width=1,490) (actual time=23,336.827..23,336.839 rows=12 loops=1)

  • Output: rec.hmname, rec.hmid, rec.i_names_rus, rec.batchseries, rec.quantity, rec.mneiquantity, rec.sendstoreid, rec.isrejected, rec.storesupplytypepackagingid, rec.storesupplyid, rec.batchid, rec.fsparentid, rec.comgroupid, rec.countinsecpack, rec.hold_inn_id, rec.unitflag, rec.mneiid, rec.unitname, rec.mneiunitname, rec.price, rec.minbalancemneiquantity
  • Sort Key: rec.hmname, rec.batchid, rec.fsparentid, rec.hmid, rec.countinsecpack, rec.i_names_rus, rec.hold_inn_id, rec.unitflag, rec.mneiid, rec.unitname, rec.quantity, rec.mneiquantity, rec.mneiunitname, rec.price, rec.batchseries, rec.isrejected, rec.storesupplyid, rec.storesupplytypepackagingid
  • Sort Method: quicksort Memory: 310kB
  • Buffers: shared hit=1400063 read=9607
  • I/O Timings: read=10147.439
43. 23,332.794 23,332.794 ↓ 781.0 781 1

CTE Scan on rec (cost=0.00..662.28 rows=1 width=1,490) (actual time=543.908..23,332.794 rows=781 loops=1)

  • Output: rec.hmname, rec.hmid, rec.i_names_rus, rec.batchseries, rec.quantity, rec.mneiquantity, rec.sendstoreid, rec.isrejected, rec.storesupplytypepackagingid, rec.storesupplyid, rec.batchid, rec.fsparentid, rec.comgroupid, rec.countinsecpack, rec.hold_inn_id, rec.unitflag, rec.mneiid, rec.unitname, rec.mneiunitname, rec.price, rec.minbalancemneiquantity
  • Filter: ((rec.comgroupid = 2) AND (rec.sendstoreid = 4) AND ((rec.mneiquantity - rec.minbalancemneiquantity) <> '0'::numeric))
  • Rows Removed by Filter: 20179
  • Buffers: shared hit=1400054 read=9607
  • I/O Timings: read=10147.439
44.          

SubPlan (for GroupAggregate)

45. 0.220 0.220 ↑ 1.0 1 11

Seq Scan on inventory.funding_source (cost=0.00..5.15 rows=1 width=45) (actual time=0.005..0.020 rows=1 loops=11)

  • Output: funding_source.name
  • Filter: (funding_source.id = rec.fsparentid)
  • Rows Removed by Filter: 172
  • Buffers: shared hit=33
46. 4.477 5.753 ↑ 1.0 1 11

Result (cost=8.16..8.42 rows=1 width=32) (actual time=0.523..0.523 rows=1 loops=11)

  • Output: inventory.get_quantity_info_string(rec.quantity, rec.mneiquantity, rec.hmid, $13)
  • Buffers: shared hit=301 read=7
  • I/O Timings: read=1.344
47.          

Initplan (for Result)

48. 1.276 1.276 ↑ 1.0 1 11

Index Scan using type_packaging_pk on inventory.type_packaging (cost=0.14..8.16 rows=1 width=4) (actual time=0.116..0.116 rows=1 loops=11)

  • Output: type_packaging.code
  • Index Cond: (type_packaging.id = rec.storesupplytypepackagingid)
  • Buffers: shared hit=20 read=2
  • I/O Timings: read=1.238
49. 0.033 0.033 ↑ 1.0 1 11

Index Scan using type_packaging_pk on inventory.type_packaging type_packaging_1 (cost=0.14..8.16 rows=1 width=4) (actual time=0.002..0.003 rows=1 loops=11)

  • Output: type_packaging_1.code
  • Index Cond: (type_packaging_1.id = rec.storesupplytypepackagingid)
  • Buffers: shared hit=22
50. 13.629 13.629 ↑ 1.0 1 11

Index Scan using arrival_party_id_pk on inventory.batch (cost=0.29..8.31 rows=1 width=4) (actual time=1.239..1.239 rows=1 loops=11)

  • Output: batch.expire_dt
  • Index Cond: (batch.id = rec.batchid)
  • Buffers: shared hit=27 read=6
  • I/O Timings: read=13.539
51. 0.022 0.022 ↑ 1.0 1 11

Index Scan using arrival_party_id_pk on inventory.batch batch_1 (cost=0.29..8.31 rows=1 width=4) (actual time=0.002..0.002 rows=1 loops=11)

  • Output: batch_1.expire_dt
  • Index Cond: (batch_1.id = rec.batchid)
  • Buffers: shared hit=33
52. 0.022 0.022 ↑ 1.0 1 11

Index Scan using arrival_party_id_pk on inventory.batch batch_2 (cost=0.29..8.31 rows=1 width=4) (actual time=0.002..0.002 rows=1 loops=11)

  • Output: batch_2.expire_dt
  • Index Cond: (batch_2.id = rec.batchid)
  • Buffers: shared hit=33
53. 2.992 2.992 ↓ 0.0 0 11

Index Scan using request_doc_spec_doc_id_ix on inventory.request_spec rs (cost=0.42..39.12 rows=1 width=0) (actual time=0.272..0.272 rows=0 loops=11)

  • Index Cond: (rs.request_doc_id = 71684)
  • Filter: (rs.store_supply_id = rec.storesupplyid)
  • Buffers: shared hit=30 read=3
  • I/O Timings: read=2.945
54. 0.000 0.000 ↓ 0.0 0

Index Scan using request_doc_spec_doc_id_ix on inventory.request_spec rs_1 (cost=0.42..39.10 rows=9 width=4) (never executed)

  • Output: rs_1.store_supply_id
  • Index Cond: (rs_1.request_doc_id = 71684)
Planning time : 294.868 ms
Execution time : 23,363.200 ms