meti-backend/migrations/000014_user_performance_indexes.up.sql

20 lines
880 B
MySQL
Raw Permalink Normal View History

2025-08-15 22:17:01 +07:00
-- Add performance indexes for user queries
-- Index for email lookup (already exists as unique, but let's ensure it's there)
CREATE INDEX IF NOT EXISTS idx_users_email ON users(email);
-- Index for name searches
CREATE INDEX IF NOT EXISTS idx_users_name ON users(name);
-- Index for active status filtering
CREATE INDEX IF NOT EXISTS idx_users_is_active ON users(is_active);
-- Composite index for common query patterns
CREATE INDEX IF NOT EXISTS idx_users_active_name ON users(is_active, name);
-- Index for created_at for sorting
CREATE INDEX IF NOT EXISTS idx_users_created_at ON users(created_at DESC);
-- GIN index for full-text search on name and email
CREATE EXTENSION IF NOT EXISTS pg_trgm;
CREATE INDEX IF NOT EXISTS idx_users_name_trgm ON users USING gin (name gin_trgm_ops);
CREATE INDEX IF NOT EXISTS idx_users_email_trgm ON users USING gin (email gin_trgm_ops);