Explorar o código

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

RuoYi %!s(int64=3) %!d(string=hai) anos
pai
achega
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 31
 				AND user_name like concat('%', #{userName}, '%')
32 32
 			</if>
33 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 35
 			</if>
36 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 38
 			</if>
39 39
 		</where>
40 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 55
 				AND oper_name like concat('%', #{operName}, '%')
56 56
 			</if>
57 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 59
 			</if>
60 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 62
 			</if>
63 63
 		</where>
64 64
 		order by oper_id desc

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

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

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

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

+ 7 - 2
sql/ry_20230221.sql

@@ -433,7 +433,10 @@ create table sys_oper_log (
433 433
   error_msg         varchar(2000)   default ''                 comment '错误消息',
434 434
   oper_time         datetime                                   comment '操作时间',
435 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 440
 ) engine=innodb auto_increment=100 comment = '操作日志记录';
438 441
 
439 442
 
@@ -558,7 +561,9 @@ create table sys_logininfor (
558 561
   status         char(1)        default '0'               comment '登录状态(0成功 1失败)',
559 562
   msg            varchar(255)   default ''                comment '提示信息',
560 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 567
 ) engine=innodb auto_increment=100 comment = '系统访问记录';
563 568
 
564 569