explain.depesz.com

PostgreSQL's explain analyze made readable

Result: WY0x

Settings
# exclusive inclusive rows x rows loops node
1. 0.033 18.356 ↓ 1.2 14 1

Hash Left Join (cost=4,815.06..4,888.06 rows=12 width=1,076) (actual time=17.796..18.356 rows=14 loops=1)

  • Hash Cond: (results.id = rd_text.result_id)
2. 0.031 16.656 ↓ 1.2 14 1

Hash Left Join (cost=4,278.17..4,351.11 rows=12 width=1,044) (actual time=16.108..16.656 rows=14 loops=1)

  • Hash Cond: (results.id = rd_title.result_id)
3. 0.033 14.133 ↓ 1.2 14 1

Hash Left Join (cost=3,743.17..3,816.05 rows=12 width=1,012) (actual time=13.594..14.133 rows=14 loops=1)

  • Hash Cond: (results.id = rd_query.result_id)
4. 0.032 10.620 ↓ 1.2 14 1

Hash Left Join (cost=3,206.27..3,279.10 rows=12 width=980) (actual time=10.091..10.620 rows=14 loops=1)

  • Hash Cond: (results.id = rd_device.result_id)
5. 0.031 9.177 ↓ 1.2 14 1

Hash Left Join (cost=2,673.15..2,745.93 rows=12 width=948) (actual time=8.657..9.177 rows=14 loops=1)

  • Hash Cond: (results.id = rd_browser.result_id)
6. 0.036 7.366 ↓ 1.2 14 1

Hash Left Join (cost=2,139.09..2,211.81 rows=12 width=916) (actual time=6.857..7.366 rows=14 loops=1)

  • Hash Cond: (results.id = rd_os.result_id)
7. 0.032 5.400 ↓ 1.2 14 1

Hash Left Join (cost=1,605.02..1,677.69 rows=12 width=884) (actual time=4.901..5.400 rows=14 loops=1)

  • Hash Cond: (results.id = rd_engine.result_id)
8. 0.035 3.859 ↓ 1.2 14 1

Hash Left Join (cost=1,071.90..1,144.51 rows=12 width=852) (actual time=3.370..3.859 rows=14 loops=1)

  • Hash Cond: (results.id = rd_city.result_id)
9. 0.034 2.295 ↓ 1.2 14 1

Hash Left Join (cost=534.06..606.62 rows=12 width=820) (actual time=1.818..2.295 rows=14 loops=1)

  • Hash Cond: (results.id = rd_links.result_id)
10. 0.472 0.472 ↓ 1.2 14 1

Seq Scan on results (cost=0.00..72.50 rows=12 width=788) (actual time=0.013..0.472 rows=14 loops=1)

  • Filter: ((updated_at >= '2020-02-09 00:00:00'::timestamp without time zone) AND (updated_at <= '2020-02-11 23:59:59'::timestamp without time zone) AND (project_id = ANY ('{110,200}'::integer[])))
  • Rows Removed by Filter: 986
11. 0.008 1.789 ↓ 1.3 14 1

Hash (cost=533.93..533.93 rows=11 width=36) (actual time=1.789..1.789 rows=14 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 10kB
12. 0.003 1.781 ↓ 1.3 14 1

Subquery Scan on rd_links (cost=533.60..533.93 rows=11 width=36) (actual time=1.768..1.781 rows=14 loops=1)

13. 0.031 1.778 ↓ 1.3 14 1

GroupAggregate (cost=533.60..533.82 rows=11 width=36) (actual time=1.766..1.778 rows=14 loops=1)

  • Group Key: results_data.result_id
14. 0.033 1.747 ↓ 1.3 14 1

Sort (cost=533.60..533.62 rows=11 width=46) (actual time=1.742..1.747 rows=14 loops=1)

  • Sort Key: results_data.result_id
  • Sort Method: quicksort Memory: 26kB
15. 1.714 1.714 ↓ 1.3 14 1

Index Scan using results_data_is_type_in_type_project_id on results_data (cost=0.29..533.41 rows=11 width=46) (actual time=0.416..1.714 rows=14 loops=1)

  • Index Cond: (((type)::text = 'landing'::text) AND (project_id = ANY ('{110,200}'::integer[])))
  • Filter: ((detected_at >= '2020-02-09 00:00:00'::timestamp without time zone) AND (detected_at <= '2020-02-11 23:59:59'::timestamp without time zone))
16. 0.019 1.529 ↑ 1.1 14 1

Hash (cost=537.65..537.65 rows=15 width=36) (actual time=1.529..1.529 rows=14 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
17. 0.002 1.510 ↑ 1.1 14 1

Subquery Scan on rd_city (cost=537.20..537.65 rows=15 width=36) (actual time=1.459..1.510 rows=14 loops=1)

18. 0.070 1.508 ↑ 1.1 14 1

GroupAggregate (cost=537.20..537.50 rows=15 width=36) (actual time=1.458..1.508 rows=14 loops=1)

  • Group Key: results_data_1.result_id
19. 0.021 1.438 ↑ 1.0 15 1

Sort (cost=537.20..537.24 rows=15 width=46) (actual time=1.435..1.438 rows=15 loops=1)

  • Sort Key: results_data_1.result_id
  • Sort Method: quicksort Memory: 25kB
20. 1.417 1.417 ↑ 1.0 15 1

Index Scan using results_data_is_type_in_type_project_id on results_data results_data_1 (cost=0.29..536.91 rows=15 width=46) (actual time=0.080..1.417 rows=15 loops=1)

  • Index Cond: (((type)::text = 'city'::text) AND (project_id = ANY ('{110,200}'::integer[])))
  • Filter: ((detected_at >= '2020-02-09 00:00:00'::timestamp without time zone) AND (detected_at <= '2020-02-11 23:59:59'::timestamp without time zone))
21. 0.017 1.509 ↓ 1.4 14 1

Hash (cost=533.00..533.00 rows=10 width=36) (actual time=1.509..1.509 rows=14 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
22. 0.001 1.492 ↓ 1.4 14 1

Subquery Scan on rd_engine (cost=532.70..533.00 rows=10 width=36) (actual time=1.477..1.492 rows=14 loops=1)

23. 0.028 1.491 ↓ 1.4 14 1

GroupAggregate (cost=532.70..532.90 rows=10 width=36) (actual time=1.477..1.491 rows=14 loops=1)

  • Group Key: results_data_2.result_id
24. 0.019 1.463 ↓ 1.4 14 1

Sort (cost=532.70..532.72 rows=10 width=46) (actual time=1.460..1.463 rows=14 loops=1)

  • Sort Key: results_data_2.result_id
  • Sort Method: quicksort Memory: 25kB
25. 1.444 1.444 ↓ 1.4 14 1

Index Scan using results_data_is_type_in_type_project_id on results_data results_data_2 (cost=0.29..532.53 rows=10 width=46) (actual time=0.218..1.444 rows=14 loops=1)

  • Index Cond: (((type)::text = 'engine'::text) AND (project_id = ANY ('{110,200}'::integer[])))
  • Filter: ((detected_at >= '2020-02-09 00:00:00'::timestamp without time zone) AND (detected_at <= '2020-02-11 23:59:59'::timestamp without time zone))
26. 0.008 1.930 ↓ 1.3 14 1

Hash (cost=533.93..533.93 rows=11 width=36) (actual time=1.930..1.930 rows=14 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
27. 0.003 1.922 ↓ 1.3 14 1

Subquery Scan on rd_os (cost=533.60..533.93 rows=11 width=36) (actual time=1.909..1.922 rows=14 loops=1)

28. 0.025 1.919 ↓ 1.3 14 1

GroupAggregate (cost=533.60..533.82 rows=11 width=36) (actual time=1.907..1.919 rows=14 loops=1)

  • Group Key: results_data_3.result_id
29. 0.025 1.894 ↓ 1.3 14 1

Sort (cost=533.60..533.62 rows=11 width=46) (actual time=1.890..1.894 rows=14 loops=1)

  • Sort Key: results_data_3.result_id
  • Sort Method: quicksort Memory: 25kB
30. 1.869 1.869 ↓ 1.3 14 1

Index Scan using results_data_is_type_in_type_project_id on results_data results_data_3 (cost=0.29..533.41 rows=11 width=46) (actual time=0.479..1.869 rows=14 loops=1)

  • Index Cond: (((type)::text = 'os'::text) AND (project_id = ANY ('{110,200}'::integer[])))
  • Filter: ((detected_at >= '2020-02-09 00:00:00'::timestamp without time zone) AND (detected_at <= '2020-02-11 23:59:59'::timestamp without time zone))
31. 0.010 1.780 ↓ 1.3 14 1

Hash (cost=533.93..533.93 rows=11 width=36) (actual time=1.780..1.780 rows=14 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
32. 0.002 1.770 ↓ 1.3 14 1

Subquery Scan on rd_browser (cost=533.60..533.93 rows=11 width=36) (actual time=1.758..1.770 rows=14 loops=1)

33. 0.034 1.768 ↓ 1.3 14 1

GroupAggregate (cost=533.60..533.82 rows=11 width=36) (actual time=1.757..1.768 rows=14 loops=1)

  • Group Key: results_data_4.result_id
34. 0.021 1.734 ↓ 1.4 15 1

Sort (cost=533.60..533.62 rows=11 width=46) (actual time=1.733..1.734 rows=15 loops=1)

  • Sort Key: results_data_4.result_id
  • Sort Method: quicksort Memory: 25kB
35. 1.713 1.713 ↓ 1.4 15 1

Index Scan using results_data_is_type_in_type_project_id on results_data results_data_4 (cost=0.29..533.41 rows=11 width=46) (actual time=0.025..1.713 rows=15 loops=1)

  • Index Cond: (((type)::text = 'browser'::text) AND (project_id = ANY ('{110,200}'::integer[])))
  • Filter: ((detected_at >= '2020-02-09 00:00:00'::timestamp without time zone) AND (detected_at <= '2020-02-11 23:59:59'::timestamp without time zone))
36. 0.006 1.411 ↓ 1.4 14 1

Hash (cost=533.00..533.00 rows=10 width=36) (actual time=1.411..1.411 rows=14 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
37. 0.002 1.405 ↓ 1.4 14 1

Subquery Scan on rd_device (cost=532.70..533.00 rows=10 width=36) (actual time=1.395..1.405 rows=14 loops=1)

38. 0.026 1.403 ↓ 1.4 14 1

GroupAggregate (cost=532.70..532.90 rows=10 width=36) (actual time=1.394..1.403 rows=14 loops=1)

  • Group Key: results_data_5.result_id
39. 0.014 1.377 ↓ 1.4 14 1

Sort (cost=532.70..532.72 rows=10 width=46) (actual time=1.376..1.377 rows=14 loops=1)

  • Sort Key: results_data_5.result_id
  • Sort Method: quicksort Memory: 25kB
40. 1.363 1.363 ↓ 1.4 14 1

Index Scan using results_data_is_type_in_type_project_id on results_data results_data_5 (cost=0.29..532.53 rows=10 width=46) (actual time=0.145..1.363 rows=14 loops=1)

  • Index Cond: (((type)::text = 'device'::text) AND (project_id = ANY ('{110,200}'::integer[])))
  • Filter: ((detected_at >= '2020-02-09 00:00:00'::timestamp without time zone) AND (detected_at <= '2020-02-11 23:59:59'::timestamp without time zone))
41. 0.016 3.480 ↑ 1.0 14 1

Hash (cost=536.72..536.72 rows=14 width=36) (actual time=3.480..3.480 rows=14 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 10kB
42. 0.000 3.464 ↑ 1.0 14 1

Subquery Scan on rd_query (cost=536.30..536.72 rows=14 width=36) (actual time=3.447..3.464 rows=14 loops=1)

43. 0.039 3.464 ↑ 1.0 14 1

GroupAggregate (cost=536.30..536.58 rows=14 width=36) (actual time=3.447..3.464 rows=14 loops=1)

  • Group Key: results_data_6.result_id
44. 0.030 3.425 ↓ 1.1 16 1

Sort (cost=536.30..536.33 rows=14 width=46) (actual time=3.420..3.425 rows=16 loops=1)

  • Sort Key: results_data_6.result_id
  • Sort Method: quicksort Memory: 26kB
45. 3.395 3.395 ↓ 1.1 16 1

Index Scan using results_data_is_type_in_type_project_id on results_data results_data_6 (cost=0.29..536.03 rows=14 width=46) (actual time=0.439..3.395 rows=16 loops=1)

  • Index Cond: (((type)::text = 'query'::text) AND (project_id = ANY ('{110,200}'::integer[])))
  • Filter: ((detected_at >= '2020-02-09 00:00:00'::timestamp without time zone) AND (detected_at <= '2020-02-11 23:59:59'::timestamp without time zone))
46. 0.017 2.492 ↓ 1.2 14 1

Hash (cost=534.86..534.86 rows=12 width=36) (actual time=2.492..2.492 rows=14 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 10kB
47. 0.002 2.475 ↓ 1.2 14 1

Subquery Scan on rd_title (cost=534.50..534.86 rows=12 width=36) (actual time=2.454..2.475 rows=14 loops=1)

48. 0.035 2.473 ↓ 1.2 14 1

GroupAggregate (cost=534.50..534.74 rows=12 width=36) (actual time=2.454..2.473 rows=14 loops=1)

  • Group Key: results_data_7.result_id
49. 0.026 2.438 ↓ 1.2 15 1

Sort (cost=534.50..534.53 rows=12 width=46) (actual time=2.433..2.438 rows=15 loops=1)

  • Sort Key: results_data_7.result_id
  • Sort Method: quicksort Memory: 27kB
50. 2.412 2.412 ↓ 1.2 15 1

Index Scan using results_data_is_type_in_type_project_id on results_data results_data_7 (cost=0.29..534.28 rows=12 width=46) (actual time=1.195..2.412 rows=15 loops=1)

  • Index Cond: (((type)::text = 'title'::text) AND (project_id = ANY ('{110,200}'::integer[])))
  • Filter: ((detected_at >= '2020-02-09 00:00:00'::timestamp without time zone) AND (detected_at <= '2020-02-11 23:59:59'::timestamp without time zone))
51. 0.015 1.667 ↑ 1.0 14 1

Hash (cost=536.72..536.72 rows=14 width=36) (actual time=1.667..1.667 rows=14 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 13kB
52. 0.005 1.652 ↑ 1.0 14 1

Subquery Scan on rd_text (cost=536.30..536.72 rows=14 width=36) (actual time=1.628..1.652 rows=14 loops=1)

53. 0.033 1.647 ↑ 1.0 14 1

GroupAggregate (cost=536.30..536.58 rows=14 width=36) (actual time=1.627..1.647 rows=14 loops=1)

  • Group Key: results_data_8.result_id
54. 0.025 1.614 ↓ 1.1 15 1

Sort (cost=536.30..536.33 rows=14 width=46) (actual time=1.609..1.614 rows=15 loops=1)

  • Sort Key: results_data_8.result_id
  • Sort Method: quicksort Memory: 31kB
55. 1.589 1.589 ↓ 1.1 15 1

Index Scan using results_data_is_type_in_type_project_id on results_data results_data_8 (cost=0.29..536.03 rows=14 width=46) (actual time=0.660..1.589 rows=15 loops=1)

  • Index Cond: (((type)::text = 'text'::text) AND (project_id = ANY ('{110,200}'::integer[])))
  • Filter: ((detected_at >= '2020-02-09 00:00:00'::timestamp without time zone) AND (detected_at <= '2020-02-11 23:59:59'::timestamp without time zone))
Planning time : 6.153 ms
Execution time : 18.852 ms