explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 8W1x

Settings
# exclusive inclusive rows x rows loops node
1. 0.007 24,341.300 ↑ 1.0 2 1

Limit (cost=5,944.50..5,944.51 rows=2 width=587) (actual time=24,341.299..24,341.300 rows=2 loops=1)

2. 0.048 24,341.293 ↑ 1.0 2 1

Sort (cost=5,944.50..5,944.51 rows=2 width=587) (actual time=24,341.293..24,341.293 rows=2 loops=1)

  • Sort Key: page_fetches_201912.access_ts DESC
  • Sort Method: quicksort Memory: 25kB
3. 0.058 24,341.245 ↑ 1.0 2 1

WindowAgg (cost=3,803.91..5,944.49 rows=2 width=587) (actual time=24,341.235..24,341.245 rows=2 loops=1)

4. 0.016 24,341.187 ↑ 1.0 2 1

Append (cost=3,803.91..5,944.47 rows=2 width=579) (actual time=21,315.545..24,341.187 rows=2 loops=1)

5. 0.002 0.067 ↓ 0.0 0 1

Bitmap Heap Scan on page_fetches_201912 (cost=3,803.91..3,820.06 rows=1 width=109) (actual time=0.067..0.067 rows=0 loops=1)

  • Recheck Cond: ((user_id = 6,265,806) AND (access_ts >= '2019-12-25 00:00:00'::timestamp without time zone))
  • Filter: ((NOT is_ajax) AND (admin_user_id IS NULL) AND ((uri_path)::text !~~ '/api/%'::text) AND ((uri_path)::text !~~ '/assets/%'::text) AND ((uri_path)::text !~~ '/my-history%'::text) AND ((uri_path)::text !~~ '/content-assets/%'::text) AND ((uri_path)::text !~~ '/fawkesian/%'::text) AND ((uri_path)::text !~~ '/account/get-token-data%'::text) AND ((uri_path)::text !~~ '/account/user-details-by-token%'::text) AND ((site_code)::text = 'VROL'::text) AND (http_status_code = 200) AND ((method)::text = 'GET'::text))
6. 0.001 0.065 ↓ 0.0 0 1

BitmapAnd (cost=3,803.91..3,803.91 rows=4 width=0) (actual time=0.065..0.065 rows=0 loops=1)

7. 0.064 0.064 ↓ 0.0 0 1

Bitmap Index Scan on page_fetches_201912_user_id_idx (cost=0.00..23.73 rows=955 width=0) (actual time=0.064..0.064 rows=0 loops=1)

  • Index Cond: (user_id = 6,265,806)
8. 0.000 0.000 ↓ 0.0 0

Bitmap Index Scan on page_fetches_201912_access_ts_idx (cost=0.00..3,779.93 rows=211,116 width=0) (never executed)

  • Index Cond: (access_ts >= '2019-12-25 00:00:00'::timestamp without time zone)
9. 13,213.352 24,341.104 ↓ 2.0 2 1

Bitmap Heap Scan on page_fetches_202001 (cost=1,943.28..2,124.40 rows=1 width=1,048) (actual time=21,315.464..24,341.104 rows=2 loops=1)

  • Recheck Cond: (((site_code)::text = 'VROL'::text) AND (admin_user_id IS NULL))
  • Rows Removed by Index Recheck: 167,622
  • Filter: ((NOT is_ajax) AND (access_ts >= '2019-12-25 00:00:00'::timestamp without time zone) AND ((uri_path)::text !~~ '/api/%'::text) AND ((uri_path)::text !~~ '/assets/%'::text) AND ((uri_path)::text !~~ '/my-history%'::text) AND ((uri_path)::text !~~ '/content-assets/%'::text) AND ((uri_path)::text !~~ '/fawkesian/%'::text) AND ((uri_path)::text !~~ '/account/get-token-data%'::text) AND ((uri_path)::text !~~ '/account/user-details-by-token%'::text) AND (user_id = 6,265,806) AND (http_status_code = 200) AND ((method)::text = 'GET'::text))
  • Rows Removed by Filter: 12,554,116
  • Heap Blocks: exact=466,718 lossy=1,317,026
10. 64.553 11,127.752 ↓ 0.0 0 1

BitmapAnd (cost=1,943.28..1,943.28 rows=45 width=0) (actual time=11,127.752..11,127.752 rows=0 loops=1)

11. 1,116.330 1,116.330 ↓ 1,403.6 12,555,228 1

Bitmap Index Scan on page_fetches_202001_site_code_idx (cost=0.00..971.51 rows=8,945 width=0) (actual time=1,116.330..1,116.330 rows=12,555,228 loops=1)

  • Index Cond: ((site_code)::text = 'VROL'::text)
12. 9,946.869 9,946.869 ↓ 1,452.5 12,992,684 1

Bitmap Index Scan on page_fetches_202001_admin_user_id_idx (cost=0.00..971.51 rows=8,945 width=0) (actual time=9,946.869..9,946.869 rows=12,992,684 loops=1)

  • Index Cond: (admin_user_id IS NULL)