Skip to content

feat: add index for member api (CM-764)#3588

Merged
ulemons merged 2 commits into
mainfrom
feat/index-for-member-api
Nov 18, 2025
Merged

feat: add index for member api (CM-764)#3588
ulemons merged 2 commits into
mainfrom
feat/index-for-member-api

Conversation

@ulemons
Copy link
Copy Markdown
Contributor

@ulemons ulemons commented Nov 10, 2025

Add database indexes to improve member query performance

Summary

This PR introduces three new indexes aimed at optimizing search and ranking queries
executed by the /member/query endpoint and related aggregation logic.

Rationale

  • idx_msa_segment_activitycount_desc_member
    Enables efficient retrieval of the top active members within a segment,
    removing the need for expensive sorts on large result sets.

  • idx_members_displayname_trgm
    Improves performance of text searches by display name
    (LOWER(displayName) LIKE '%term%'), commonly used in the search feature.

  • idx_memberidentities_email_verified_trgm
    Accelerates lookups of verified email identities
    (LOWER(value) LIKE '%term%'), reducing scan cost on memberIdentities.


Note

Add three concurrent Postgres indexes to speed member queries, display name search, and verified email lookups.

  • Database Migration (backend/src/database/migrations/V1762789440__optimize_member_api.sql):
    • Indexes:
      • idx_msa_segment_activitycount_desc_member on public."memberSegmentsAgg" ("segmentId", "activityCount" DESC, "memberId").
      • idx_members_displayname_trgm GIN on public."members" using LOWER("displayName") gin_trgm_ops.
      • idx_memberidentities_email_verified_trgm GIN on public."memberIdentities" using LOWER("value") gin_trgm_ops with partial filter WHERE verified = true AND type = 'email'.

Written by Cursor Bugbot for commit d17a4e0. This will update automatically on new commits. Configure here.

@ulemons ulemons self-assigned this Nov 10, 2025
@ulemons ulemons added the Feature Created by Linear-GitHub Sync label Nov 10, 2025
@ulemons ulemons requested a review from themarolt November 17, 2025 10:45
@ulemons ulemons marked this pull request as ready for review November 17, 2025 10:45
@ulemons ulemons merged commit c3c9649 into main Nov 18, 2025
18 checks passed
@ulemons ulemons deleted the feat/index-for-member-api branch November 18, 2025 09:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature Created by Linear-GitHub Sync

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants