anxin-ruoyi/docker/database/init/04-performance-indexes.sql

64 lines
3.5 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- ============================================================================
-- 性能优化:认证相关表索引优化
-- 创建日期: 2026-03-19
-- 描述: 为认证相关表添加复合索引,优化高频查询性能
-- ============================================================================
SET NAMES utf8mb4;
-- ============================================================================
-- 1. sys_user_enterprise_verification 索引优化
-- ============================================================================
-- 复合索引用户ID + 认证状态isUserFullyVerified 和 getUserVerificationStatus 的核心查询)
-- 查询: WHERE user_id = ? ORDER BY create_time DESC LIMIT 1
-- 查询: WHERE user_id = ? AND verification_status = 'APPROVED'
ALTER TABLE `sys_user_enterprise_verification`
ADD INDEX `idx_user_status` (`user_id`, `verification_status`) USING BTREE COMMENT '用户ID+认证状态复合索引,优化认证状态查询';
-- 创建时间索引(管理列表按时间排序)
ALTER TABLE `sys_user_enterprise_verification`
ADD INDEX `idx_create_time` (`create_time`) USING BTREE COMMENT '创建时间索引,优化时间范围查询';
-- 企业名称索引(管理页面按企业名称搜索)
ALTER TABLE `sys_user_enterprise_verification`
ADD INDEX `idx_enterprise_name` (`enterprise_name`(50)) USING BTREE COMMENT '企业名称前缀索引,优化模糊搜索';
-- ============================================================================
-- 2. sys_user_identity_verification 索引优化
-- ============================================================================
-- 复合索引用户ID + 认证状态isUserFullyVerified 的核心查询)
ALTER TABLE `sys_user_identity_verification`
ADD INDEX `idx_user_status` (`user_id`, `verification_status`) USING BTREE COMMENT '用户ID+认证状态复合索引,优化认证状态查询';
-- 创建时间索引(管理列表按时间排序)
ALTER TABLE `sys_user_identity_verification`
ADD INDEX `idx_create_time` (`create_time`) USING BTREE COMMENT '创建时间索引,优化时间范围查询';
-- ============================================================================
-- 3. sys_verification_audit_log 索引优化
-- ============================================================================
-- 复合索引用户ID + 操作时间(查询某用户的审核历史,按时间排序)
ALTER TABLE `sys_verification_audit_log`
ADD INDEX `idx_user_time` (`user_id`, `operation_time`) USING BTREE COMMENT '用户ID+操作时间复合索引,优化用户审核历史查询';
-- ============================================================================
-- 4. dc_employee_qr_code 索引优化
-- ============================================================================
-- 复合索引员工ID + 二维码状态(查询员工有效二维码)
ALTER TABLE `dc_employee_qr_code`
ADD INDEX `idx_employee_status` (`employee_id`, `qr_code_status`) USING BTREE COMMENT '员工ID+状态复合索引,优化员工有效二维码查询';
-- 复合索引:二维码状态 + 过期时间(定时清理过期二维码)
ALTER TABLE `dc_employee_qr_code`
ADD INDEX `idx_status_expiry` (`qr_code_status`, `expiry_time`) USING BTREE COMMENT '状态+过期时间复合索引,优化过期二维码清理查询';
-- ============================================================================
-- 完成
-- ============================================================================
SELECT '认证相关表性能索引优化完成!' AS message;