yunzer_go/server/database/performance_indexes_simple.sql
2025-11-06 15:56:29 +08:00

68 lines
2.5 KiB
SQL

-- 性能优化索引脚本(简化版)
-- 创建时间: 2025
-- 描述: 为常用查询字段添加索引,提升查询性能
-- 注意: 如果索引已存在会报错,可以忽略或手动删除重复的索引
SET NAMES utf8mb4;
-- =============================================
-- 1. 部门表 (yz_tenant_departments) 索引优化
-- =============================================
-- 添加 tenant_id 索引
CREATE INDEX IF NOT EXISTS idx_tenant_id ON yz_tenant_departments(tenant_id);
-- 添加 delete_time 索引
CREATE INDEX IF NOT EXISTS idx_delete_time ON yz_tenant_departments(delete_time);
-- 添加复合索引 (tenant_id, delete_time) 用于常用查询
CREATE INDEX IF NOT EXISTS idx_tenant_delete ON yz_tenant_departments(tenant_id, delete_time);
-- 添加 parent_id 索引(用于树形结构查询)
CREATE INDEX IF NOT EXISTS idx_parent_id ON yz_tenant_departments(parent_id);
-- =============================================
-- 2. 职位表 (yz_tenant_positions) 索引优化
-- =============================================
-- 添加 tenant_id 索引
CREATE INDEX IF NOT EXISTS idx_tenant_id ON yz_tenant_positions(tenant_id);
-- 添加 delete_time 索引
CREATE INDEX IF NOT EXISTS idx_delete_time ON yz_tenant_positions(delete_time);
-- 添加 department_id 索引(用于按部门查询职位)
CREATE INDEX IF NOT EXISTS idx_department_id ON yz_tenant_positions(department_id);
-- 添加复合索引 (department_id, delete_time, status) 用于常用查询
CREATE INDEX IF NOT EXISTS idx_dept_delete_status ON yz_tenant_positions(department_id, delete_time, status);
-- =============================================
-- 3. 角色表 (yz_roles) 索引优化
-- =============================================
-- 添加 tenant_id 索引
CREATE INDEX IF NOT EXISTS idx_tenant_id ON yz_roles(tenant_id);
-- 添加 delete_time 索引
CREATE INDEX IF NOT EXISTS idx_delete_time ON yz_roles(delete_time);
-- =============================================
-- 4. 员工表 (yz_employees) 索引优化
-- =============================================
-- 添加 tenant_id 索引
CREATE INDEX IF NOT EXISTS idx_tenant_id ON yz_employees(tenant_id);
-- 添加 delete_time 索引
CREATE INDEX IF NOT EXISTS idx_delete_time ON yz_employees(delete_time);
-- 添加 department_id 索引
CREATE INDEX IF NOT EXISTS idx_department_id ON yz_employees(department_id);
-- 添加 position_id 索引
CREATE INDEX IF NOT EXISTS idx_position_id ON yz_employees(position_id);
SELECT '性能优化索引创建完成!' AS message;