perf: 발주기관 건설현장 입력 시 기업사용자 찾기 쿼리 성능 개선

main
thkim 2026-02-06 10:27:25 +09:00
parent c5a8096ee0
commit d66f5bb604
1 changed files with 21 additions and 52 deletions

View File

@ -71,57 +71,26 @@
</select>
<select id="selectConstructCompanyList" parameterType="map" resultType="egovMap">
SELECT
TRIM(wmi.COMPANY_NAME) AS COMPANY_NAME,
wmi.USERID,
TRIM(wmi.PART_NAME) AS PART_NAME,
wmi.EMAIL
FROM
web_member_in wmi
WHERE
wmi.CLS = 1
and wmi.COMPANY_NAME NOT IN ('111', 'a')
and wmi.COMPANY_NAME is not NULL
and wmi.COMPANY_NAME LIKE '%' || #{companyName} || '%'
UNION
SELECT
TRIM(wmi.COMPANY_NAME) AS COMPANY_NAME,
wmi.USERID,
TRIM(wmi.PART_NAME) AS PART_NAME,
wmi.EMAIL
FROM
web_member_in wmi
WHERE
wmi.CLS = 1
and wmi.COMPANY_NAME NOT IN ('111', 'a')
and wmi.COMPANY_NAME is not NULL
and wmi.USER_NAME like '%' || #{companyName} || '%'
UNION
SELECT
TRIM(wmi.COMPANY_NAME) AS COMPANY_NAME,
wmi.USERID,
TRIM(wmi.PART_NAME) AS PART_NAME,
wmi.EMAIL
FROM
web_member_in wmi
WHERE
wmi.CLS = 1
and wmi.COMPANY_NAME NOT IN ('111', 'a')
and wmi.COMPANY_NAME is not NULL
and wmi.USERID like '%' || #{companyName} || '%'
UNION
SELECT
TRIM(wmi.COMPANY_NAME) AS COMPANY_NAME,
wmi.USERID,
TRIM(wmi.PART_NAME) AS PART_NAME,
wmi.EMAIL
FROM
web_member_in wmi
WHERE
wmi.CLS = 1
and wmi.COMPANY_NAME NOT IN ('111', 'a')
and wmi.COMPANY_NAME is not NULL
and wmi.EMAIL like '%' || #{companyName} || '%'
SELECT
TRIM(wmi.COMPANY_NAME) AS COMPANY_NAME,
wmi.USERID,
TRIM(wmi.PART_NAME) AS PART_NAME,
wmi.EMAIL
FROM
web_member_in wmi
WHERE
wmi.CLS = 1
AND wmi.COMPANY_NAME IS NOT NULL
AND wmi.COMPANY_NAME NOT IN ('111', 'a')
<choose>
<when test='companyName != null and companyName.length() >= 2'>
AND CONTAINS(wmi.COMPANY_NAME, '%' || #{companyName} || '%') > 0
</when>
<otherwise>
AND 1 = 0
</otherwise>
</choose>
AND ROWNUM &lt;= 50
</select>
<select id="getDepartments" parameterType="map" resultType="egovMap">