explain.depesz.com

PostgreSQL's explain analyze made readable

Result: KXsq

Settings
# exclusive inclusive rows x rows loops node
1. 0.003 50.999 ↑ 1.0 3 1

Limit (cost=1.73..8.47 rows=3 width=203) (actual time=50.990..50.999 rows=3 loops=1)

2. 0.003 50.996 ↑ 411,872.0 3 1

Nested Loop Left Join (cost=1.73..2,775,786.92 rows=1,235,616 width=203) (actual time=50.990..50.996 rows=3 loops=1)

3. 0.002 50.984 ↑ 411,872.0 3 1

Nested Loop Anti Join (cost=1.59..2,575,101.80 rows=1,235,616 width=195) (actual time=50.981..50.984 rows=3 loops=1)

  • Join Filter: (lv2.rowid = "LogEvent_1".rowid)
4. 0.005 50.955 ↑ 411,874.7 3 1

Nested Loop Left Join (cost=1.46..2,371,217.26 rows=1,235,624 width=195) (actual time=50.952..50.955 rows=3 loops=1)

  • Filter: (("TagHeader".rowid IS NULL) OR "TagHeader".active)
5. 0.004 50.947 ↑ 587,553.0 3 1

Merge Append (cost=1.04..1,551,019.14 rows=1,762,659 width=159) (actual time=50.945..50.947 rows=3 loops=1)

  • Sort Key: "LogEvent_1"."time" DESC
6. 50.824 50.824 ↓ 0.0 0 1

Index Scan Backward using "LogEvent_1_time_idx" on "LogEvent_1" (cost=0.29..8,427.42 rows=415 width=179) (actual time=50.824..50.824 rows=0 loops=1)

  • Index Cond: ("time" >= '1561939200000'::bigint)
  • Filter: (("tagHeader" = ANY ('{83290,1507,149028,334785,115878,214452,165380,230801,269224,285588,198210,247286,132650,285582,165491,285570,50436,50557,1475,181832,1472,334637,83128,165475,230909,198059,383830,230899,66903,132624,269193,149107,1331,165456,99466,269189,214404,181681,66747,394452,165454,149094,198025,165445,1304,367427,181659,50499,83082,132713,83080,301864,99572,83081,50500,132716,247086,99560,367294,165291,50365,269277,198129,132699,149063,148923,115908,34114,230709,181754,148913,66701,230690,181757,165258,181731,334663,33965,17734,394246,1372,33959,165375,181720,165363,334514,269094,50308,230656,181718,269086,197937,334510,214301,285567,247141,33931}'::bigint[])) OR ("tagHeader" IS NULL))
  • Rows Removed by Filter: 46222
7. 0.101 0.101 ↑ 1,427.0 1 1

Index Scan Backward using "LogEvent_2_time_idx" on "LogEvent_2" (cost=0.29..8,276.11 rows=1,427 width=177) (actual time=0.101..0.101 rows=1 loops=1)

  • Index Cond: ("time" >= '1561939200000'::bigint)
  • Filter: (("tagHeader" = ANY ('{83290,1507,149028,334785,115878,214452,165380,230801,269224,285588,198210,247286,132650,285582,165491,285570,50436,50557,1475,181832,1472,334637,83128,165475,230909,198059,383830,230899,66903,132624,269193,149107,1331,165456,99466,269189,214404,181681,66747,394452,165454,149094,198025,165445,1304,367427,181659,50499,83082,132713,83080,301864,99572,83081,50500,132716,247086,99560,367294,165291,50365,269277,198129,132699,149063,148923,115908,34114,230709,181754,148913,66701,230690,181757,165258,181731,334663,33965,17734,394246,1372,33959,165375,181720,165363,334514,269094,50308,230656,181718,269086,197937,334510,214301,285567,247141,33931}'::bigint[])) OR ("tagHeader" IS NULL))
  • Rows Removed by Filter: 77
8. 0.018 0.018 ↑ 586,939.0 3 1

Index Scan Backward using "LogEvent_3_time_idx" on "LogEvent_3" (cost=0.44..1,511,533.55 rows=1,760,817 width=159) (actual time=0.017..0.018 rows=3 loops=1)

  • Index Cond: ("time" >= '1561939200000'::bigint)
  • Filter: (("tagHeader" = ANY ('{83290,1507,149028,334785,115878,214452,165380,230801,269224,285588,198210,247286,132650,285582,165491,285570,50436,50557,1475,181832,1472,334637,83128,165475,230909,198059,383830,230899,66903,132624,269193,149107,1331,165456,99466,269189,214404,181681,66747,394452,165454,149094,198025,165445,1304,367427,181659,50499,83082,132713,83080,301864,99572,83081,50500,132716,247086,99560,367294,165291,50365,269277,198129,132699,149063,148923,115908,34114,230709,181754,148913,66701,230690,181757,165258,181731,334663,33965,17734,394246,1372,33959,165375,181720,165363,334514,269094,50308,230656,181718,269086,197937,334510,214301,285567,247141,33931}'::bigint[])) OR ("tagHeader" IS NULL))
9. 0.003 0.003 ↓ 0.0 0 3

Index Scan using "TagHeader_pkey" on "TagHeader" (cost=0.42..0.46 rows=1 width=9) (actual time=0.001..0.001 rows=0 loops=3)

  • Index Cond: ("LogEvent_1"."tagHeader" = rowid)
10. 0.009 0.027 ↓ 0.0 0 3

Materialize (cost=0.13..6.61 rows=11 width=8) (actual time=0.009..0.009 rows=0 loops=3)

11. 0.001 0.018 ↓ 0.0 0 1

Append (cost=0.13..6.55 rows=11 width=8) (actual time=0.018..0.018 rows=0 loops=1)

12. 0.006 0.006 ↓ 0.0 0 1

Index Only Scan using "logEvent_1_GOOSEIndex" on "LogEvent_1" lv2 (cost=0.13..2.14 rows=1 width=8) (actual time=0.006..0.006 rows=0 loops=1)

  • Heap Fetches: 0
13. 0.006 0.006 ↓ 0.0 0 1

Index Only Scan using "logEvent_2_GOOSEIndex" on "LogEvent_2" lv2_1 (cost=0.13..2.14 rows=1 width=8) (actual time=0.006..0.006 rows=0 loops=1)

  • Heap Fetches: 0
14. 0.005 0.005 ↓ 0.0 0 1

Index Only Scan using "logEvent_3_GOOSEIndex" on "LogEvent_3" lv2_2 (cost=0.13..2.22 rows=9 width=8) (actual time=0.005..0.005 rows=0 loops=1)

  • Heap Fetches: 0
15. 0.009 0.009 ↑ 1.0 1 3

Index Scan using "LogEventClass_pkey" on "LogEventClass" (cost=0.14..0.16 rows=1 width=16) (actual time=0.003..0.003 rows=1 loops=3)

  • Index Cond: ("LogEvent_1"."eventClass" = rowid)
Planning time : 3.587 ms