浏览代码

日志管理使用索引提升查询性能

RuoYi 3 年之前
父节点
当前提交
7c9903e057

+ 2 - 2
ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysLogininforMapper.xml

@@ -31,10 +31,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
31
 				AND user_name like concat('%', #{userName}, '%')
31
 				AND user_name like concat('%', #{userName}, '%')
32
 			</if>
32
 			</if>
33
 			<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
33
 			<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
34
-				and date_format(access_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
34
+				AND access_time &gt;= #{params.beginTime}
35
 			</if>
35
 			</if>
36
 			<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
36
 			<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
37
-				and date_format(access_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
37
+				AND access_time &lt;= #{params.endTime}
38
 			</if>
38
 			</if>
39
 		</where>
39
 		</where>
40
 		order by info_id desc
40
 		order by info_id desc

+ 2 - 2
ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOperLogMapper.xml

@@ -55,10 +55,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
55
 				AND oper_name like concat('%', #{operName}, '%')
55
 				AND oper_name like concat('%', #{operName}, '%')
56
 			</if>
56
 			</if>
57
 			<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
57
 			<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
58
-				and date_format(oper_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
58
+				AND oper_time &gt;= #{params.beginTime}
59
 			</if>
59
 			</if>
60
 			<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
60
 			<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
61
-				and date_format(oper_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
61
+				AND oper_time &lt;= #{params.endTime}
62
 			</if>
62
 			</if>
63
 		</where>
63
 		</where>
64
 		order by oper_id desc
64
 		order by oper_id desc

+ 3 - 2
ruoyi-ui/src/views/system/logininfor/index.vue

@@ -38,11 +38,12 @@
38
         <el-date-picker
38
         <el-date-picker
39
           v-model="dateRange"
39
           v-model="dateRange"
40
           style="width: 240px"
40
           style="width: 240px"
41
-          value-format="yyyy-MM-dd"
41
+          value-format="yyyy-MM-dd HH:mm:ss"
42
           type="daterange"
42
           type="daterange"
43
           range-separator="-"
43
           range-separator="-"
44
           start-placeholder="开始日期"
44
           start-placeholder="开始日期"
45
           end-placeholder="结束日期"
45
           end-placeholder="结束日期"
46
+          :default-time="['00:00:00', '23:59:59']"
46
         ></el-date-picker>
47
         ></el-date-picker>
47
       </el-form-item>
48
       </el-form-item>
48
       <el-form-item>
49
       <el-form-item>
@@ -152,7 +153,7 @@ export default {
152
       // 日期范围
153
       // 日期范围
153
       dateRange: [],
154
       dateRange: [],
154
       // 默认排序
155
       // 默认排序
155
-      defaultSort: {prop: 'loginTime', order: 'descending'},
156
+      defaultSort: {prop: 'accessTime', order: 'descending'},
156
       // 查询参数
157
       // 查询参数
157
       queryParams: {
158
       queryParams: {
158
         pageNum: 1,
159
         pageNum: 1,

+ 2 - 1
ruoyi-ui/src/views/system/operlog/index.vue

@@ -53,11 +53,12 @@
53
         <el-date-picker
53
         <el-date-picker
54
           v-model="dateRange"
54
           v-model="dateRange"
55
           style="width: 240px"
55
           style="width: 240px"
56
-          value-format="yyyy-MM-dd"
56
+          value-format="yyyy-MM-dd HH:mm:ss"
57
           type="daterange"
57
           type="daterange"
58
           range-separator="-"
58
           range-separator="-"
59
           start-placeholder="开始日期"
59
           start-placeholder="开始日期"
60
           end-placeholder="结束日期"
60
           end-placeholder="结束日期"
61
+          :default-time="['00:00:00', '23:59:59']"
61
         ></el-date-picker>
62
         ></el-date-picker>
62
       </el-form-item>
63
       </el-form-item>
63
       <el-form-item>
64
       <el-form-item>

+ 7 - 2
sql/ry_20230221.sql

@@ -433,7 +433,10 @@ create table sys_oper_log (
433
   error_msg         varchar(2000)   default ''                 comment '错误消息',
433
   error_msg         varchar(2000)   default ''                 comment '错误消息',
434
   oper_time         datetime                                   comment '操作时间',
434
   oper_time         datetime                                   comment '操作时间',
435
   cost_time         bigint(20)      default 0                  comment '消耗时间',
435
   cost_time         bigint(20)      default 0                  comment '消耗时间',
436
-  primary key (oper_id)
436
+  primary key (oper_id),
437
+  key idx_sys_oper_log_bt (business_type),
438
+  key idx_sys_oper_log_s  (status),
439
+  key idx_sys_oper_log_ot (oper_time)
437
 ) engine=innodb auto_increment=100 comment = '操作日志记录';
440
 ) engine=innodb auto_increment=100 comment = '操作日志记录';
438
 
441
 
439
 
442
 
@@ -558,7 +561,9 @@ create table sys_logininfor (
558
   status         char(1)        default '0'               comment '登录状态(0成功 1失败)',
561
   status         char(1)        default '0'               comment '登录状态(0成功 1失败)',
559
   msg            varchar(255)   default ''                comment '提示信息',
562
   msg            varchar(255)   default ''                comment '提示信息',
560
   access_time    datetime                                 comment '访问时间',
563
   access_time    datetime                                 comment '访问时间',
561
-  primary key (info_id)
564
+  primary key (info_id),
565
+  key idx_sys_logininfor_s  (status),
566
+  key idx_sys_logininfor_lt (access_time)
562
 ) engine=innodb auto_increment=100 comment = '系统访问记录';
567
 ) engine=innodb auto_increment=100 comment = '系统访问记录';
563
 
568
 
564
 
569