explain.depesz.com

PostgreSQL's explain analyze made readable

Result: N1QP

Settings

Optimization(s) for this plan:

# exclusive inclusive rows x rows loops node
1. 0.098 21,008.438 ↑ 4,021.6 7 1

Nested Loop Left Join (cost=0.69..3,151,819.22 rows=28,151 width=767) (actual time=15,461.252..21,008.438 rows=7 loops=1)

  • Output: k1.event_id, k1.event_uid, k1.calendar_id, k1.event_creator_id, k1.event_description, k1.event_location, k1.event_status, k1.event_attendees, k1.event_keywords, k1.event_exceptions, k1.event_title, k1.event_category, k1.event_recurenddate, k1.event_start, k1.event_end, k1.event_alarm, k1.event_modified, k1.event_private, k1.event_recurcount, k1.event_recurtype, k1.event_recurinterval, k1.event_recurdays, k1.event_realuid, k1.event_created, k1.event_modified_json, k1.event_timezone, k1.event_all_day, k1.event_is_deleted, k1.event_is_exception, k1.event_recurrence_id, k1.event_organizer_json, k1.organizer_calendar_id, k1.event_transparency, k1.event_sequence, k1.event_priority, k1.event_alarm_json, k1.event_recurrence_json, k1.event_attachments_json, k1.event_properties_json, k2.event_creator_id, k2.event_attendees, k2.calendar_id
2. 21,008.039 21,008.039 ↑ 565.1 7 1

Seq Scan on public.kronolith_events k1 (cost=0.00..3,013,497.70 rows=3,956 width=685) (actual time=15,461.184..21,008.039 rows=7 loops=1)

  • Output: k1.event_id, k1.event_uid, k1.calendar_id, k1.event_creator_id, k1.event_description, k1.event_location, k1.event_status, k1.event_attendees, k1.event_keywords, k1.event_exceptions, k1.event_title, k1.event_category, k1.event_recurenddate, k1.event_start, k1.event_end, k1.event_alarm, k1.event_modified, k1.event_private, k1.event_recurcount, k1.event_recurtype, k1.event_recurinterval, k1.event_recurdays, k1.event_realuid, k1.event_created, k1.event_modified_json, k1.event_timezone, k1.event_all_day, k1.event_is_deleted, k1.event_is_exception, k1.event_recurrence_id, k1.event_organizer_json, k1.organizer_calendar_id, k1.event_transparency, k1.event_sequence, k1.event_priority, k1.event_alarm_json, k1.event_recurrence_json, k1.event_attachments_json, k1.event_properties_json
  • Filter: ((k1.event_uid)::text ~~ '0ea36994-8c36-4f97-8d28-3e2957b57c79-1599634800@future%@RECURRENCE-ID'::text)
  • Rows Removed by Filter: 39,856,675
3. 0.301 0.301 ↓ 0.0 0 7

Index Scan using kronolith_uid_idx on public.kronolith_events k2 (cost=0.69..34.93 rows=3 width=126) (actual time=0.043..0.043 rows=0 loops=7)

  • Output: k2.event_id, k2.event_uid, k2.calendar_id, k2.event_creator_id, k2.event_description, k2.event_location, k2.event_status, k2.event_attendees, k2.event_keywords, k2.event_exceptions, k2.event_title, k2.event_category, k2.event_recurenddate, k2.event_start, k2.event_end, k2.event_alarm, k2.event_modified, k2.event_private, k2.event_recurcount, k2.event_recurtype, k2.event_recurinterval, k2.event_recurdays, k2.event_realuid, k2.event_created, k2.event_modified_json, k2.event_timezone, k2.event_all_day, k2.event_is_deleted, k2.event_is_exception, k2.event_recurrence_id, k2.event_organizer_json, k2.organizer_calendar_id, k2.event_transparency, k2.event_sequence, k2.event_priority, k2.event_alarm_json, k2.event_recurrence_json, k2.event_attachments_json, k2.event_properties_json
  • Index Cond: ((k1.event_uid)::text = (k2.event_uid)::text)
  • Filter: (char_length(k2.event_attendees) > 10)
  • Rows Removed by Filter: 1
Planning time : 3.004 ms
Execution time : 21,008.578 ms