디바이스별 접속 통계 성능개선

This commit is contained in:
itn 2023-08-28 15:23:10 +09:00
parent 60fa108b56
commit f988af6143

View File

@ -926,54 +926,14 @@
<!-- 사용자 디바이스별 접속 로그 리스트 --> <!-- 사용자 디바이스별 접속 로그 리스트 -->
<select id="LoginLogDAO.selectDeviceLogList" parameterClass="loginLog" resultClass="loginLog"> <select id="LoginLogDAO.selectDeviceLogList" parameterClass="loginLog" resultClass="loginLog">
SELECT
SELECT D.STAT_DATE AS days,
A.days, IFNULL(D.CLICK_P_CNT, 0 ) pcnt,
IFNULL(B.cnt, 0 ) pcnt, IFNULL(D.CLICK_M_CNT, 0 ) mcnt
IFNULL(C.cnt, 0 ) mcnt FROM
FROM ( MJ_DASH_STAT D
WITH recursive AA AS WHERE DATE_FORMAT(D.STAT_DATE, '%Y-%m') = #searchCondition#
( SELECT DATE_FORMAT(last_day('$searchCondition$-01' - interval 1 MONTH), '%Y-%m-%d') + interval 1 DAY AS days ORDER BY D.STAT_DATE DESC
UNION ALL
SELECT days + interval 1 DAY
FROM AA
<isEmpty property="searchEndDate">
<![CDATA[
WHERE days < DATE_FORMAT(last_day('$searchCondition$-01'), '%Y-%m-%d'))
]]>
</isEmpty>
<isNotEmpty property="searchEndDate">
<![CDATA[
WHERE days < DATE_FORMAT(#searchEndDate#, '%Y-%m-%d'))
]]>
</isNotEmpty>
SELECT * FROM AA ) A
LEFT JOIN
( SELECT
COUNT(DISTINCT CONECT_IP) cnt ,
DATE_FORMAT(CREAT_DT,'%Y-%m-%d') pday
FROM LETTNLOGINLOG
WHERE 1 = 1
AND USER_AT = 'U'
AND DATE_FORMAT(CREAT_DT, '%Y-%m') = #searchCondition#
AND DEVICE_TYPE = 'P'
GROUP BY pday
) B
ON A.days = B.pday
LEFT JOIN
( SELECT
COUNT(DISTINCT CONECT_IP) cnt ,
DATE_FORMAT(CREAT_DT,'%Y-%m-%d') mday
FROM LETTNLOGINLOG
WHERE 1 =1
AND USER_AT = 'U'
AND DATE_FORMAT(CREAT_DT, '%Y-%m') = #searchCondition#
AND DEVICE_TYPE = 'M'
GROUP BY mday
) C
ON A.days = C.mday
ORDER BY days DESC
</select> </select>
<select id="LoginLogDAO.SelectDauLoginLogList" parameterClass="loginLog" resultClass="loginLog"> <select id="LoginLogDAO.SelectDauLoginLogList" parameterClass="loginLog" resultClass="loginLog">