-- orders 表索引优化:提升 /api/orders 列表、营收统计查询性能 -- 执行:mysql -u user -p database < soul-api/scripts/add-orders-indexes.sql -- 幂等:索引已存在时跳过,可重复执行 -- 1. idx_status_created 复合索引 SELECT COUNT(*) INTO @cnt FROM information_schema.statistics WHERE table_schema = DATABASE() AND table_name = 'orders' AND index_name = 'idx_status_created'; SET @sql = IF(@cnt = 0, 'ALTER TABLE orders ADD INDEX idx_status_created (status, created_at)', 'SELECT 1'); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; -- 2. idx_user_id 索引 SELECT COUNT(*) INTO @cnt FROM information_schema.statistics WHERE table_schema = DATABASE() AND table_name = 'orders' AND index_name = 'idx_user_id'; SET @sql = IF(@cnt = 0, 'ALTER TABLE orders ADD INDEX idx_user_id (user_id)', 'SELECT 1'); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;