Refactor(SQL): Optimize query sorting

This commit is contained in:
2024-08-30 10:10:45 +08:00
parent a9fe158094
commit b409e7200e
6 changed files with 7 additions and 7 deletions

View File

@@ -6,7 +6,7 @@
from t_s_group from t_s_group
<where> <where>
deleted = 0 deleted = 0
<if test="searchName != null"> <if test="searchName != null and searchName != ''">
<choose> <choose>
<when test="searchRegex == true"> <when test="searchRegex == true">
and t_s_group.name regexp #{searchName} and t_s_group.name regexp #{searchName}

View File

@@ -6,7 +6,7 @@
from t_s_role from t_s_role
<where> <where>
deleted = 0 deleted = 0
<if test="searchName != null"> <if test="searchName != null and searchName != ''">
<choose> <choose>
<when test="searchRegex == true"> <when test="searchRegex == true">
and t_s_role.name regexp #{searchName} and t_s_role.name regexp #{searchName}

View File

@@ -79,7 +79,7 @@
left join (select * from t_s_user_info where deleted = 0) as tsui on t_s_user.id = tsui.user_id left join (select * from t_s_user_info where deleted = 0) as tsui on t_s_user.id = tsui.user_id
<where> <where>
t_s_user.deleted = 0 t_s_user.deleted = 0
<if test="searchValue != null"> <if test="searchValue != null and searchValue != ''">
<choose> <choose>
<when test="searchType == 'ID'"> <when test="searchType == 'ID'">
<choose> <choose>

View File

@@ -27,7 +27,7 @@
separator="," close=")" nullable="true"> separator="," close=")" nullable="true">
#{item} #{item}
</foreach> </foreach>
<if test="searchRequestUrl != null"> <if test="searchRequestUrl != null and searchRequestUrl != ''">
and ((t_l_sys_log.request_server_address || t_l_sys_log.request_uri || and ((t_l_sys_log.request_server_address || t_l_sys_log.request_uri ||
(case when length(t_l_sys_log.request_params) != 0 then '?' || t_l_sys_log.request_params else '' end)) (case when length(t_l_sys_log.request_params) != 0 then '?' || t_l_sys_log.request_params else '' end))
like #{searchRequestUrl}) like #{searchRequestUrl})

View File

@@ -80,7 +80,7 @@
close=")" nullable="true"> close=")" nullable="true">
#{item} #{item}
</foreach> </foreach>
<if test="searchValue != null"> <if test="searchValue != null and searchValue != ''">
<choose> <choose>
<when test="searchType == 'NAME'"> <when test="searchType == 'NAME'">
<choose> <choose>

View File

@@ -14,7 +14,7 @@
) as temp1 ) as temp1
left join json_table(json_extract(temp1.keywords, '$[*]'), '$[*]' columns (keyword varchar(50) path '$')) as tk on true left join json_table(json_extract(temp1.keywords, '$[*]'), '$[*]' columns (keyword varchar(50) path '$')) as tk on true
<where> <where>
<if test="searchValue != null"> <if test="searchValue != null and searchValue != ''">
and ( and (
temp1.name like concat('%', #{searchValue}, '%') temp1.name like concat('%', #{searchValue}, '%')
or tk.keyword like concat('%', #{searchValue}, '%') or tk.keyword like concat('%', #{searchValue}, '%')
@@ -25,7 +25,7 @@
</if> </if>
</where> </where>
<choose> <choose>
<when test="searchValue != null"> <when test="searchValue != null and searchValue != ''">
order by instr(temp1.name, #{searchValue}) = 0, order by instr(temp1.name, #{searchValue}) = 0,
char_length(temp1.name), char_length(temp1.name),
instr(temp1.name, #{searchValue}), instr(temp1.name, #{searchValue}),