explain.depesz.com

PostgreSQL's explain analyze made readable

Result: WtEB

Settings
# exclusive inclusive rows x rows loops node
1. 2,117.621 68,596.146 ↓ 285.0 285 1

HashSetOp Intersect (cost=0.70..3,157.71 rows=1 width=20) (actual time=68,412.294..68,596.146 rows=285 loops=1)

  • Buffers: shared hit=5 read=1233603
2. 195.408 66,478.525 ↓ 7,539.3 3,000,650 1

Append (cost=0.70..3,156.71 rows=398 width=20) (actual time=38.647..66,478.525 rows=3,000,650 loops=1)

  • Buffers: shared hit=5 read=1233603
3. 349.912 56,187.283 ↓ 3,000,000.0 3,000,000 1

Subquery Scan on *SELECT* 3 (cost=0.70..8.54 rows=1 width=20) (actual time=38.647..56,187.283 rows=3,000,000 loops=1)

  • Buffers: shared read=1231257
4. 55,837.371 55,837.371 ↓ 3,000,000.0 3,000,000 1

Index Scan using entity_detail_detail_type_name_value_idx on entity_detail (cost=0.70..8.53 rows=1 width=16) (actual time=38.637..55,837.371 rows=3,000,000 loops=1)

  • Index Cond: ((detail_type = 'BacNetProperty'::text) AND (name = 'BACnet Property 6'::text) AND (value = 'BACnet Property 6 value'::text))
  • Buffers: shared read=1231257
5. 0.045 10,095.834 ↓ 1.6 650 1

Result (cost=0.70..3,146.18 rows=397 width=20) (actual time=10,095.712..10,095.834 rows=650 loops=1)

  • Buffers: shared hit=5 read=2346
6. 5.291 10,095.789 ↓ 1.6 650 1

HashSetOp Intersect (cost=0.70..3,142.21 rows=397 width=20) (actual time=10,095.711..10,095.789 rows=650 loops=1)

  • Buffers: shared hit=5 read=2346
7. 1.352 10,090.498 ↓ 2.9 2,379 1

Append (cost=0.70..3,140.19 rows=807 width=20) (actual time=41.527..10,090.498 rows=2,379 loops=1)

  • Buffers: shared hit=5 read=2346
8. 1.176 4,952.226 ↓ 2.2 891 1

Subquery Scan on *SELECT* 1 (cost=0.70..1,543.09 rows=397 width=20) (actual time=41.526..4,952.226 rows=891 loops=1)

  • Buffers: shared read=900
9. 4,951.050 4,951.050 ↓ 2.2 891 1

Index Scan using entity_detail_detail_type_name_value_idx on entity_detail entity_detail_1 (cost=0.70..1,539.12 rows=397 width=16) (actual time=41.523..4,951.050 rows=891 loops=1)

  • Index Cond: ((detail_type = 'Tag'::text) AND (name = 'Tag1'::text) AND (value = 'tag 2494'::text))
  • Buffers: shared read=900
10. 1.317 5,136.920 ↓ 3.6 1,488 1

Subquery Scan on *SELECT* 2 (cost=0.70..1,593.07 rows=410 width=20) (actual time=30.166..5,136.920 rows=1,488 loops=1)

  • Buffers: shared hit=5 read=1446
11. 5,135.603 5,135.603 ↓ 3.6 1,488 1

Index Scan using entity_detail_detail_type_name_value_idx on entity_detail entity_detail_2 (cost=0.70..1,588.97 rows=410 width=16) (actual time=30.165..5,135.603 rows=1,488 loops=1)

  • Index Cond: ((detail_type = 'Tag'::text) AND (name = 'Tag2'::text) AND (value = 'tag 6289'::text))
  • Buffers: shared hit=5 read=1446