explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Btn7

Settings
# exclusive inclusive rows x rows loops node
1. 0.023 3,582.854 ↓ 100.0 100 1

Subquery Scan on a (cost=81,427.79..81,431.79 rows=1 width=80) (actual time=3,582.403..3,582.854 rows=100 loops=1)

  • Filter: (a.rank = 1)
2. 0.021 3,582.831 ↑ 1.0 100 1

Limit (cost=81,427.79..81,430.54 rows=100 width=80) (actual time=3,582.400..3,582.831 rows=100 loops=1)

3. 0.361 3,582.810 ↑ 1,043.0 100 1

WindowAgg (cost=81,427.79..84,295.96 rows=104,297 width=80) (actual time=3,582.399..3,582.810 rows=100 loops=1)

4. 2,997.686 3,582.449 ↑ 1,043.0 100 1

Sort (cost=81,427.79..81,688.53 rows=104,297 width=1,107) (actual time=3,582.326..3,582.449 rows=100 loops=1)

  • Sort Key: t.id, tn.id DESC
  • Sort Method: quicksort Memory: 136727kB
5. 47.244 584.763 ↑ 1.0 103,788 1

Merge Left Join (cost=185.24..72,734.46 rows=104,297 width=1,107) (actual time=1.382..584.763 rows=103,788 loops=1)

  • Merge Cond: (t.translation_key_id = tn.translation_key_id)
  • Join Filter: ((tn.locale_code)::text = (t.locale_code)::text)
6. 536.112 536.112 ↑ 1.0 103,787 1

Index Scan using uk_translations_key_locale on translations t (cost=0.42..72,288.88 rows=104,297 width=760) (actual time=0.020..536.112 rows=103,787 loops=1)

  • Index Cond: ((locale_code)::text = 'en_GB'::text)
7. 0.101 1.407 ↓ 50.0 50 1

Sort (cost=184.82..184.82 rows=1 width=367) (actual time=1.357..1.407 rows=50 loops=1)

  • Sort Key: tn.translation_key_id
  • Sort Method: quicksort Memory: 51kB
8. 1.306 1.306 ↓ 50.0 50 1

Seq Scan on translation_notes tn (cost=0.00..184.81 rows=1 width=367) (actual time=0.095..1.306 rows=50 loops=1)

  • Filter: (((locale_code)::text = 'en_GB'::text) AND ((details -> 'translation_vendor'::text) ? 'vendor_batch_id'::text) AND ((details #>> '{translation_vendor,vendor_name}'::text[]) = 'lingotek'::text))
  • Rows Removed by Filter: 1234
Planning time : 5.405 ms