-- ==================================== -- 系统操作日志表 -- ==================================== CREATE TABLE `sys_log` ( `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '日志ID', `user_id` BIGINT(20) DEFAULT NULL COMMENT '用户ID', `username` VARCHAR(50) DEFAULT NULL COMMENT '用户名', `real_name` VARCHAR(50) DEFAULT NULL COMMENT '真实姓名', `log_type` VARCHAR(20) NOT NULL COMMENT '日志类型:登录日志、操作日志', `operate_type` VARCHAR(50) DEFAULT NULL COMMENT '操作类型:增删改查等', `detail` VARCHAR(500) DEFAULT NULL COMMENT '日志详情描述', `controller` VARCHAR(100) DEFAULT NULL COMMENT '控制器名称', `method` VARCHAR(100) DEFAULT NULL COMMENT '方法名称', `request_url` VARCHAR(255) DEFAULT NULL COMMENT '请求URL', `request_method` VARCHAR(10) DEFAULT NULL COMMENT '请求方式:GET/POST/PUT/DELETE', `request_params` TEXT DEFAULT NULL COMMENT '请求参数', `operate_ip` VARCHAR(50) DEFAULT NULL COMMENT '操作IP地址', `operate_location` VARCHAR(100) DEFAULT NULL COMMENT '操作地点', `operate_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间', `use_time` BIGINT(20) DEFAULT NULL COMMENT '执行时长(毫秒)', `status` TINYINT(1) DEFAULT 1 COMMENT '状态:0-失败,1-成功', `error_msg` TEXT DEFAULT NULL COMMENT '错误信息', `browser` VARCHAR(100) DEFAULT NULL COMMENT '浏览器', `os` VARCHAR(100) DEFAULT NULL COMMENT '操作系统', PRIMARY KEY (`id`), KEY `idx_user_id` (`user_id`), KEY `idx_operate_time` (`operate_time`), KEY `idx_log_type` (`log_type`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统操作日志表'; -- 创建索引优化查询 CREATE INDEX idx_username ON sys_log(username); CREATE INDEX idx_log_type_time ON sys_log(log_type, operate_time);