64 lines
3.5 KiB
SQL
64 lines
3.5 KiB
SQL
-- ============================================================================
|
||
-- 性能优化:认证相关表索引优化
|
||
-- 创建日期: 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;
|