explain.depesz.com

PostgreSQL's explain analyze made readable

Result: vcgi : qwert

Settings
# exclusive inclusive rows x rows loops node
1. 0.134 0.998 ↓ 17.0 17 1

Unique (cost=122.56..122.77 rows=1 width=2,443) (actual time=0.876..0.998 rows=17 loops=1)

2. 0.611 0.864 ↓ 38.0 38 1

Sort (cost=122.56..122.56 rows=1 width=2,443) (actual time=0.859..0.864 rows=38 loops=1)

  • Sort Key: users.id, users.email, users.encrypted_password, users.reset_password_token, users.reset_password_sent_at, users.remember_created_at, users.sign_in_count, users.current_sign_in_at, users.last_sign_in_at, users.current_sign_in_ip, users.last_sign_in_ip, users.created_at, users.updated_at, users.name, users.admin, users.projects_limit, users.skype, users.linkedin, users.twitter, users.bio, users.failed_attempts, users.locked_at, users.username, users.can_create_group, users.can_create_team, users.state, users.color_scheme_id, users.password_expires_at, users.created_by_id, users.last_credential_check_at, users.avatar, users.confirmation_token, users.confirmed_at, users.confirmation_sent_at, users.unconfirmed_email, users.hide_no_ssh_key, users.website_url, users.admin_email_unsubscribed_at, users.notification_email, users.hide_no_password, users.password_automatically_set, users.location, users.encrypted_otp_secret, users.encrypted_otp_secret_iv, users.encrypted_otp_secret_salt, users.otp_required_for_login, users.otp_backup_codes, users.public_email, users.dashboard, users.project_view, users.consumed_timestep, users.layout, users.hide_project_limit, users.note, users.unlock_token, users.otp_grace_period_started_at, users.external, users.incoming_email_token, users.organization, users.auditor, users.require_two_factor_authentication_from_group, users.two_factor_grace_period, users.ghost, users.last_activity_on, users.notified_of_own_activity, users.preferred_language, users.email_opted_in, users.email_opted_in_ip, users.email_opted_in_source_id, users.email_opted_in_at, users.theme_id, users.accepted_term_id, users.feed_token, users.private_profile, users.roadmap_layout, users.include_private_contributions, users.commit_email, users.group_view, users.managing_group_id, users.bot_type, users.first_name, users.last_name, users.static_object_token, users.role
  • Sort Method: quicksort Memory: 44kB
3. 0.054 0.253 ↓ 38.0 38 1

Nested Loop (cost=104.01..122.55 rows=1 width=2,443) (actual time=0.132..0.253 rows=38 loops=1)

4. 0.007 0.161 ↓ 38.0 38 1

Nested Loop (cost=103.72..120.25 rows=1 width=4) (actual time=0.120..0.161 rows=38 loops=1)

5. 0.010 0.110 ↓ 1.6 11 1

HashAggregate (cost=103.44..103.51 rows=7 width=8) (actual time=0.107..0.110 rows=11 loops=1)

  • Group Key: namespaces.id
6. 0.013 0.100 ↓ 1.6 11 1

Hash Join (cost=33.07..103.43 rows=7 width=8) (actual time=0.087..0.100 rows=11 loops=1)

  • Hash Cond: ((unnest(issue_user_mentions.mentioned_groups_ids)) = namespaces.id)
7. 0.025 0.063 ↑ 254.5 11 1

HashAggregate (cost=29.55..64.55 rows=2,800 width=4) (actual time=0.053..0.063 rows=11 loops=1)

  • Group Key: unnest(issue_user_mentions.mentioned_groups_ids)
8. 0.019 0.038 ↑ 60.3 58 1

ProjectSet (cost=0.42..20.80 rows=3,500 width=4) (actual time=0.016..0.038 rows=58 loops=1)

9. 0.019 0.019 ↓ 1.1 40 1

Index Scan using index_issue_user_mentions_on_issue_id on issue_user_mentions (cost=0.42..3.04 rows=35 width=27) (actual time=0.011..0.019 rows=40 loops=1)

  • Index Cond: (issue_id = 3937)
10. 0.006 0.024 ↑ 1.1 12 1

Hash (cost=3.35..3.35 rows=13 width=4) (actual time=0.024..0.024 rows=12 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
11. 0.018 0.018 ↑ 1.1 12 1

Index Scan using index_namespaces_on_type_partial on namespaces (cost=0.14..3.35 rows=13 width=4) (actual time=0.013..0.018 rows=12 loops=1)

  • Index Cond: ((type)::text = 'Group'::text)
12. 0.044 0.044 ↓ 3.0 3 11

Index Scan using index_members_on_source_id_and_source_type on members (cost=0.28..2.38 rows=1 width=8) (actual time=0.003..0.004 rows=3 loops=11)

  • Index Cond: ((source_id = namespaces.id) AND ((source_type)::text = 'Namespace'::text))
  • Filter: ((requested_at IS NULL) AND ((type)::text = 'GroupMember'::text))
13. 0.038 0.038 ↑ 1.0 1 38

Index Scan using users_pkey on users (cost=0.28..2.30 rows=1 width=2,443) (actual time=0.001..0.001 rows=1 loops=38)

  • Index Cond: (id = members.user_id)
Planning time : 2.149 ms
Execution time : 1.265 ms