Skip to content

[Database] Missing indexes on core query columns #13

Description

@YHQZ1

The single migration file (packages/db/migrations/000001_init.up.sql) likely created tables without indexes on columns used in frequent queries. As deployment history grows, queries slow down.
Expected missing indexes based on query patterns:
sql-- deployments are frequently queried by project_id
CREATE INDEX idx_deployments_project_id ON deployments(project_id);

-- projects are queried by user_id on every dashboard load
CREATE INDEX idx_projects_user_id ON projects(user_id);

-- activity is queried by user_id ordered by created_at
CREATE INDEX idx_activity_user_id_created ON activity(user_id, created_at DESC);

-- deployments are filtered by status
CREATE INDEX idx_deployments_status ON deployments(status);
Steps:

Review packages/db/queries/*.sql to identify all WHERE and ORDER BY columns
Create a new migration: 000002_add_indexes.up.sql
Add indexes for all high-frequency filter columns
Run EXPLAIN ANALYZE on common queries to verify index usage

Metadata

Metadata

Assignees

No one assigned

    Labels

    DatabaseDB schema / queriesP2Medium — next sprint

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions