explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 3Fho

Settings
# exclusive inclusive rows x rows loops node
1. 7.227 7.318 ↓ 0.0 0 1

Gather (cost=1,008.63..7,506,401.87 rows=222 width=73) (actual time=5.325..7.318 rows=0 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
2. 0.000 0.091 ↓ 0.0 0 3

Parallel Append (cost=8.63..7,505,379.67 rows=222 width=73) (actual time=0.091..0.091 rows=0 loops=3)

3. 0.010 0.031 ↓ 0.0 0 1

Parallel Hash Join (cost=2,501,799.45..5,003,586.87 rows=2 width=73) (actual time=0.031..0.031 rows=0 loops=1)

  • Hash Cond: (("*SELECT* 1".keywordindex = "*SELECT* 1_1".keywordindex) AND (wp.contentobjectid = anchor.contentobjectid))
  • Join Filter: ((wp."position" - anchor."position") = "*SELECT* 1".index)
4. 0.000 0.000 ↓ 0.0 0

Parallel Hash Join (cost=8.63..2,501,789.47 rows=90 width=69) (never executed)

  • Hash Cond: (wp.wordid = w.id)
5. 0.000 0.000 ↓ 0.0 0

Parallel Seq Scan on wordposition wp (cost=0.00..2,258,051.67 rows=64,994,367 width=20) (never executed)

6. 0.000 0.000 ↓ 0.0 0

Parallel Hash (cost=8.62..8.62 rows=1 width=65) (never executed)

7. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=0.56..8.62 rows=1 width=65) (never executed)

8. 0.000 0.000 ↓ 0.0 0

Parallel Append (cost=0.00..0.04 rows=1 width=44) (never executed)

9. 0.000 0.000 ↓ 0.0 0

Subquery Scan on *SELECT* 1 (cost=0.00..0.02 rows=1 width=44) (never executed)

10. 0.000 0.000 ↓ 0.0 0

Result (cost=0.00..0.01 rows=1 width=44) (never executed)

  • One-Time Filter: false
11. 0.000 0.000 ↓ 0.0 0

Subquery Scan on *SELECT* 2 (cost=0.00..0.02 rows=1 width=44) (never executed)

12. 0.000 0.000 ↓ 0.0 0

Result (cost=0.00..0.01 rows=1 width=44) (never executed)

  • One-Time Filter: false
13. 0.000 0.000 ↓ 0.0 0

Subquery Scan on *SELECT* 3 (cost=0.00..0.02 rows=1 width=44) (never executed)

14. 0.000 0.000 ↓ 0.0 0

Result (cost=0.00..0.01 rows=1 width=44) (never executed)

15. 0.000 0.000 ↓ 0.0 0

Index Scan using word_ak on word w (cost=0.56..8.57 rows=1 width=53) (never executed)

  • Index Cond: (wordtext = "*SELECT* 1".text)
16. 0.000 0.021 ↓ 0.0 0 1

Parallel Hash (cost=2,501,789.47..2,501,789.47 rows=90 width=16) (actual time=0.021..0.021 rows=0 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 0kB
17. 0.008 0.022 ↓ 0.0 0 1

Parallel Hash Join (cost=8.63..2,501,789.47 rows=90 width=16) (actual time=0.021..0.022 rows=0 loops=1)

  • Hash Cond: (anchor.wordid = start_word.id)
18. 0.000 0.000 ↓ 0.0 0

Parallel Seq Scan on wordposition anchor (cost=0.00..2,258,051.67 rows=64,994,367 width=20) (never executed)

19. 0.000 0.014 ↓ 0.0 0 1

Parallel Hash (cost=8.62..8.62 rows=1 width=12) (actual time=0.014..0.014 rows=0 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 0kB
20. 0.006 0.014 ↓ 0.0 0 1

Nested Loop (cost=0.56..8.62 rows=1 width=12) (actual time=0.014..0.014 rows=0 loops=1)

21. 0.000 0.003 ↓ 2.0 2 1

Parallel Append (cost=0.00..0.04 rows=1 width=36) (actual time=0.002..0.003 rows=2 loops=1)

22. 0.001 0.001 ↑ 1.0 1 1

Subquery Scan on *SELECT* 1_1 (cost=0.00..0.02 rows=1 width=36) (actual time=0.001..0.001 rows=1 loops=1)

23. 0.000 0.000 ↑ 1.0 1 1

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

24. 0.000 0.001 ↑ 1.0 1 1

Subquery Scan on *SELECT* 2_1 (cost=0.00..0.02 rows=1 width=36) (actual time=0.001..0.001 rows=1 loops=1)

25. 0.001 0.001 ↑ 1.0 1 1

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

26. 0.001 0.001 ↓ 0.0 0 1

Subquery Scan on *SELECT* 3_1 (cost=0.00..0.02 rows=1 width=36) (actual time=0.001..0.001 rows=0 loops=1)

27. 0.000 0.000 ↓ 0.0 0 1

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

  • One-Time Filter: false
28. 0.005 0.005 ↓ 0.0 0 2

Index Scan using word_ak on word start_word (cost=0.56..8.57 rows=1 width=53) (actual time=0.005..0.005 rows=0 loops=2)

  • Index Cond: (wordtext = "*SELECT* 1_1".text)
29. 0.177 0.241 ↓ 0.0 0 1

Parallel Hash Join (cost=8.63..2,501,789.47 rows=90 width=73) (actual time=0.241..0.241 rows=0 loops=1)

  • Hash Cond: (wp_1.wordid = w_1.id)
30. 0.000 0.000 ↓ 0.0 0

Parallel Seq Scan on wordposition wp_1 (cost=0.00..2,258,051.67 rows=64,994,367 width=20) (never executed)

31. 0.001 0.064 ↓ 0.0 0 1

Parallel Hash (cost=8.62..8.62 rows=1 width=65) (actual time=0.064..0.064 rows=0 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 0kB
32. 0.030 0.063 ↓ 0.0 0 1

Nested Loop (cost=0.56..8.62 rows=1 width=65) (actual time=0.063..0.063 rows=0 loops=1)

33. 0.000 0.005 ↓ 2.0 2 1

Parallel Append (cost=0.00..0.04 rows=1 width=44) (actual time=0.003..0.005 rows=2 loops=1)

34. 0.000 0.001 ↑ 1.0 1 1

Subquery Scan on *SELECT* 1_2 (cost=0.00..0.02 rows=1 width=44) (actual time=0.001..0.001 rows=1 loops=1)

35. 0.001 0.001 ↑ 1.0 1 1

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

36. 0.001 0.002 ↑ 1.0 1 1

Subquery Scan on *SELECT* 2_2 (cost=0.00..0.02 rows=1 width=44) (actual time=0.001..0.002 rows=1 loops=1)

37. 0.001 0.001 ↑ 1.0 1 1

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

38. 0.001 0.002 ↓ 0.0 0 1

Subquery Scan on *SELECT* 3_2 (cost=0.00..0.02 rows=1 width=44) (actual time=0.002..0.002 rows=0 loops=1)

39. 0.001 0.001 ↓ 0.0 0 1

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

  • One-Time Filter: false
40. 0.028 0.028 ↓ 0.0 0 2

Index Scan using word_ak on word w_1 (cost=0.56..8.57 rows=1 width=53) (actual time=0.028..0.028 rows=0 loops=2)

  • Index Cond: (wordtext = "*SELECT* 1_2".text)