explain.depesz.com

PostgreSQL's explain analyze made readable

Result: OvyL

Settings
# exclusive inclusive rows x rows loops node
1. 0.002 9.584 ↑ 1.0 10 1

Limit (cost=10,152.20..10,152.22 rows=10 width=1,436) (actual time=9.583..9.584 rows=10 loops=1)

2. 0.233 9.582 ↑ 486.8 12 1

Sort (cost=10,152.19..10,166.80 rows=5,841 width=1,436) (actual time=9.582..9.582 rows=12 loops=1)

  • Sort Key: rpsl_objects.pk
  • Sort Method: top-N heapsort Memory: 65kB
3. 0.262 9.349 ↑ 12.5 467 1

Hash Anti Join (cost=807.84..10,018.29 rows=5,841 width=1,436) (actual time=7.644..9.349 rows=467 loops=1)

  • Hash Cond: ((rpsl_objects.rpsl_pk)::text = (tt.rpsl_pk)::text)
4. 1.530 8.329 ↑ 7.4 791 1

Bitmap Heap Scan on rpsl_objects (cost=493.01..9,629.71 rows=5,842 width=1,436) (actual time=6.877..8.329 rows=791 loops=1)

  • Recheck Cond: ((parsed_data -> 'mnt-by'::text) @> '["MYLOC-MNT"]'::jsonb)
  • Filter: (((source)::text = 'RIPE'::text) AND ((object_class)::text = ANY ('{inetnum,inet6num,route,route6,aut-num,as-set}'::text[])))
  • Rows Removed by Filter: 387
  • Heap Blocks: exact=806
5. 6.799 6.799 ↑ 7.0 1,178 1

Bitmap Index Scan on ix_rpsl_objects_parsed_data_mnt_by (cost=0.00..491.55 rows=8,193 width=0) (actual time=6.799..6.799 rows=1,178 loops=1)

  • Index Cond: ((parsed_data -> 'mnt-by'::text) @> '["MYLOC-MNT"]'::jsonb)
6. 0.218 0.758 ↓ 1.7 1,380 1

Hash (cost=304.60..304.60 rows=819 width=25) (actual time=0.758..0.758 rows=1,380 loops=1)

  • Buckets: 2048 (originally 1024) Batches: 1 (originally 1) Memory Usage: 94kB
7. 0.540 0.540 ↓ 1.7 1,380 1

Index Scan using ix_rpsl_objects_source on rpsl_objects tt (cost=0.43..304.60 rows=819 width=25) (actual time=0.028..0.540 rows=1,380 loops=1)

  • Index Cond: ((source)::text = 'RANR'::text)
Planning time : 0.560 ms
Execution time : 9.629 ms