explain.depesz.com

PostgreSQL's explain analyze made readable

Result: SUNi

Settings
# exclusive inclusive rows x rows loops node
1. 0.009 2.385 ↑ 1.0 50 1

Limit (cost=1.13..2,024.17 rows=50 width=2,565) (actual time=0.106..2.385 rows=50 loops=1)

2. 0.061 2.376 ↑ 1,593.5 50 1

Nested Loop Left Join (cost=1.13..3,223,761.64 rows=79,676 width=2,565) (actual time=0.105..2.376 rows=50 loops=1)

  • Join Filter: (books_book.subscription_id = payments_subscriptiontype.id)
3. 0.063 2.315 ↑ 1,593.5 50 1

Nested Loop Left Join (cost=1.13..3,220,624.17 rows=79,676 width=2,539) (actual time=0.091..2.315 rows=50 loops=1)

4. 0.074 1.952 ↑ 1,593.5 50 1

Nested Loop Left Join (cost=0.71..2,559,155.60 rows=79,676 width=1,408) (actual time=0.077..1.952 rows=50 loops=1)

  • Filter: ((books_rightholder.litres_id <> ALL ('{9350031,9352293,9354901,9354639,9351777}'::text[])) OR (books_rightholder.litres_id IS NULL))
  • Rows Removed by Filter: 1
5. 1.521 1.521 ↑ 2,820.5 51 1

Index Scan using idx_books_book_activated_at on books_book (cost=0.42..1,381,797.36 rows=143,845 width=1,223) (actual time=0.065..1.521 rows=51 loops=1)

  • Filter: (is_readable AND active AND (file_count > 0))
  • Rows Removed by Filter: 749
6. 0.357 0.357 ↑ 1.0 1 51

Index Scan using books_rightholder_pkey on books_rightholder (cost=0.29..8.17 rows=1 width=185) (actual time=0.007..0.007 rows=1 loops=51)

  • Index Cond: (books_book.rightholder_id = id)
7. 0.300 0.300 ↑ 1.0 1 50

Index Scan using authors_author_pkey on authors_author (cost=0.42..8.30 rows=1 width=1,131) (actual time=0.006..0.006 rows=1 loops=50)

  • Index Cond: (books_book.main_author_id = id)
8. 0.000 0.000 ↑ 3.0 1 50

Materialize (cost=0.00..1.04 rows=3 width=26) (actual time=0.000..0.000 rows=1 loops=50)

9. 0.008 0.008 ↑ 3.0 1 1

Seq Scan on payments_subscriptiontype (cost=0.00..1.03 rows=3 width=26) (actual time=0.008..0.008 rows=1 loops=1)