Database Indexes (migrations 006-009): - Add case-insensitive indexes for auth lookups (email, username) - Add composite indexes for task kanban queries - Add indexes for notification, document, and completion queries - Add unique index for active share codes - Remove redundant idx_share_code_active and idx_notification_user_sent Repository Optimizations: - Add FindResidenceIDsByUser() lightweight method (IDs only, no preloads) - Optimize GetResidenceUsers() with single UNION query (was 2 queries) - Optimize kanban completion preloads to minimal columns (id, task_id, completed_at) Service Optimizations: - Remove Category/Priority/Frequency preloads from task queries - Remove summary calculations from CRUD responses (client calculates) - Use lightweight FindResidenceIDsByUser() instead of full FindByUser() These changes reduce database load and response times for common operations. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
24 lines
842 B
SQL
24 lines
842 B
SQL
-- Rollback performance optimization indexes
|
|
-- Migration: 006_performance_indexes
|
|
|
|
DROP INDEX IF EXISTS idx_user_email_lower;
|
|
DROP INDEX IF EXISTS idx_user_username_lower;
|
|
DROP INDEX IF EXISTS idx_admin_email_lower;
|
|
|
|
DROP INDEX IF EXISTS idx_task_residence_status;
|
|
DROP INDEX IF EXISTS idx_task_residence_active;
|
|
DROP INDEX IF EXISTS idx_task_next_due_date;
|
|
|
|
DROP INDEX IF EXISTS idx_notification_user_read;
|
|
DROP INDEX IF EXISTS idx_notification_user_sent;
|
|
DROP INDEX IF EXISTS idx_notification_task;
|
|
|
|
DROP INDEX IF EXISTS idx_document_residence_active_type;
|
|
DROP INDEX IF EXISTS idx_document_expiry_active;
|
|
|
|
DROP INDEX IF EXISTS idx_contractor_created_by;
|
|
DROP INDEX IF EXISTS idx_completion_task;
|
|
DROP INDEX IF EXISTS idx_completion_completed_by;
|
|
DROP INDEX IF EXISTS idx_residence_member_user;
|
|
DROP INDEX IF EXISTS idx_share_code_active;
|