explain.depesz.com

PostgreSQL's explain analyze made readable

Result: x746

Settings
# exclusive inclusive rows x rows loops node
1. 0.406 16,431.423 ↓ 100.0 100 1

Limit (cost=5,914.60..5,914.60 rows=1 width=587) (actual time=16,431.377..16,431.423 rows=100 loops=1)

2. 148.710 16,431.017 ↓ 7,800.0 15,600 1

Sort (cost=5,914.59..5,914.60 rows=2 width=587) (actual time=16,429.282..16,431.017 rows=15,600 loops=1)

  • Sort Key: page_fetches_201912.access_ts DESC
  • Sort Method: top-N heapsort Memory: 8533kB
3. 213.854 16,282.307 ↓ 147,483.0 294,966 1

WindowAgg (cost=3,803.91..5,914.58 rows=2 width=587) (actual time=16,220.162..16,282.307 rows=294,966 loops=1)

4. 21.014 16,068.453 ↓ 147,483.0 294,966 1

Append (cost=3,803.91..5,914.56 rows=2 width=579) (actual time=5,871.495..16,068.453 rows=294,966 loops=1)

5. 0.004 1,030.041 ↓ 0.0 0 1

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

  • Recheck Cond: ((user_id = 10) 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. 5.402 1,030.037 ↓ 0.0 0 1

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

7. 0.053 0.053 ↑ 39.8 24 1

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

  • Index Cond: (user_id = 10)
8. 1,024.582 1,024.582 ↓ 52.9 11,174,097 1

Bitmap Index Scan on page_fetches_201912_access_ts_idx (cost=0.00..3,779.93 rows=211,116 width=0) (actual time=1,024.582..1,024.582 rows=11,174,097 loops=1)

  • Index Cond: (access_ts >= '2019-12-25 00:00:00'::timestamp without time zone)
9. 12,863.191 15,017.398 ↓ 294,966.0 294,966 1

Bitmap Heap Scan on page_fetches_202001 (cost=1,917.39..2,094.49 rows=1 width=1,048) (actual time=4,841.453..15,017.398 rows=294,966 loops=1)

  • Recheck Cond: (((site_code)::text = 'VROL'::text) AND (http_status_code = 200))
  • Rows Removed by Index Recheck: 1059380
  • Filter: ((NOT is_ajax) AND (admin_user_id IS NULL) 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 = 10) AND ((method)::text = 'GET'::text))
  • Rows Removed by Filter: 10739076
  • Heap Blocks: exact=435919 lossy=1308308
10. 55.141 2,154.207 ↓ 0.0 0 1

BitmapAnd (cost=1,917.39..1,917.39 rows=44 width=0) (actual time=2,154.207..2,154.207 rows=0 loops=1)

11. 1,200.912 1,200.912 ↓ 1,402.8 12,371,346 1

Bitmap Index Scan on page_fetches_202001_site_code_idx (cost=0.00..958.57 rows=8,819 width=0) (actual time=1,200.912..1,200.912 rows=12,371,346 loops=1)

  • Index Cond: ((site_code)::text = 'VROL'::text)
12. 898.154 898.154 ↓ 1,270.3 11,202,793 1

Bitmap Index Scan on page_fetches_202001_http_status_code_idx (cost=0.00..958.57 rows=8,819 width=0) (actual time=898.154..898.154 rows=11,202,793 loops=1)

  • Index Cond: (http_status_code = 200)