일문자 발송건수 쿼리 성능개선

This commit is contained in:
itn 2023-09-15 09:57:11 +09:00
parent cd723bbb01
commit 759984f89d
2 changed files with 18 additions and 7 deletions

View File

@ -40,7 +40,8 @@ public class SttstMsgScheduling{
private String GlobalsEnv; private String GlobalsEnv;
/** /**
* mj_sttst_msg 테이블 통계 데이터 생성 * mj_sttst_msg 테이블 통계 데이터 생성 (한시간 한번)
* 매시간 43분 47초 실행
* insert or update 처리 * insert or update 처리
* @param * @param
* @return * @return
@ -72,6 +73,7 @@ public class SttstMsgScheduling{
/** /**
* mj_sttst_msg 테이블 통계 데이터 생성 (매일한번) * mj_sttst_msg 테이블 통계 데이터 생성 (매일한번)
* 새벽 3시 30분 47초 한번실행
* insert or update 처리 * insert or update 처리
* @param * @param
* @return * @return

View File

@ -7,7 +7,9 @@
<sqlMap namespace="MjonSttst"> <sqlMap namespace="MjonSttst">
<typeAlias alias="mjonMsgVO" type="itn.let.mjo.msg.service.MjonMsgVO"/> <typeAlias alias="mjonMsgVO" type="itn.let.mjo.msg.service.MjonMsgVO"/>
<!-- 매시간 43분 47초 실행 -->
<insert id="mjonSttst.insertMjSttstMsgBulk" parameterClass="mjonMsgVO"> <insert id="mjonSttst.insertMjSttstMsgBulk" parameterClass="mjonMsgVO">
<![CDATA[
INSERT INTO MJ_STTST_MSG INSERT INTO MJ_STTST_MSG
( (
send_date send_date
@ -17,7 +19,6 @@
, API_SUCCESS_CNT , API_SUCCESS_CNT
, regist_pnttm , regist_pnttm
) )
SELECT SELECT
aa.regDate aa.regDate
, aa.hSendCount , aa.hSendCount
@ -118,7 +119,8 @@
WHERE 1=1 WHERE 1=1
AND USER_ID NOT IN ('hftest', 'itntest', 'imotest', 'itntestBatch') AND USER_ID NOT IN ('hftest', 'itntest', 'imotest', 'itntestBatch')
AND P.RESERVE_C_YN = 'N' AND P.RESERVE_C_YN = 'N'
AND P.req_date > DATE_ADD(now(), interval -14 day) AND P.REQ_DATE >= DATE_FORMAT(NOW(),'%Y-%m-%d')
AND P.REQ_DATE < DATE_ADD(DATE_FORMAT(NOW(),'%Y-%m-%d'), INTERVAL 1 DAY)
GROUP BY GROUP BY
P.MSG_GROUP_ID P.MSG_GROUP_ID
)M )M
@ -131,9 +133,12 @@
, API_SEND_CNT =aa.aSendCount , API_SEND_CNT =aa.aSendCount
, API_SUCCESS_CNT =aa.aSuccessCount , API_SUCCESS_CNT =aa.aSuccessCount
, regist_pnttm =now() , regist_pnttm =now()
]]>
</insert> </insert>
<!-- 새벽 3시 30분 47초 한번실행 -->
<insert id="mjonSttst.insertMjSttstMsgDayBulk" parameterClass="mjonMsgVO"> <insert id="mjonSttst.insertMjSttstMsgDayBulk" parameterClass="mjonMsgVO">
<![CDATA[
INSERT INTO MJ_STTST_MSG INSERT INTO MJ_STTST_MSG
( (
send_date send_date
@ -143,7 +148,6 @@
, API_SUCCESS_CNT , API_SUCCESS_CNT
, regist_pnttm , regist_pnttm
) )
SELECT SELECT
aa.regDate aa.regDate
, aa.hSendCount , aa.hSendCount
@ -154,8 +158,10 @@
FROM( FROM(
SELECT SELECT
M2.regDate M2.regDate
, SUM(M2.sendCount) AS sendCount , SUM(M2.hSendCount) AS hSendCount
, SUM(M2.successCount) AS successCount , SUM(M2.hSuccessCount) AS hSuccessCount
, SUM(M2.aSendCount) AS aSendCount
, SUM(M2.aSuccessCount) AS aSuccessCount
FROM( FROM(
SELECT SELECT
M.REQ_DATE AS regDate /*발송일*/ M.REQ_DATE AS regDate /*발송일*/
@ -241,6 +247,8 @@
WHERE 1=1 WHERE 1=1
AND USER_ID NOT IN ('hftest','itntest','imotest','itntestBatch') AND USER_ID NOT IN ('hftest','itntest','imotest','itntestBatch')
AND P.RESERVE_C_YN = 'N' AND P.RESERVE_C_YN = 'N'
AND P.REQ_DATE >= DATE_ADD(DATE_FORMAT(NOW(),'%Y-%m-%d'), INTERVAL -7 DAY)
AND P.REQ_DATE < DATE_FORMAT(NOW(),'%Y-%m-%d')
GROUP BY GROUP BY
P.MSG_GROUP_ID P.MSG_GROUP_ID
)M )M
@ -253,6 +261,7 @@
, API_SEND_CNT =aa.aSendCount , API_SEND_CNT =aa.aSendCount
, API_SUCCESS_CNT =aa.aSuccessCount , API_SUCCESS_CNT =aa.aSuccessCount
, regist_pnttm =now() , regist_pnttm =now()
]]>
</insert> </insert>
<insert id="mjonSttst.insertMjSttstMsgRankBulk" parameterClass="mjonMsgVO"> <insert id="mjonSttst.insertMjSttstMsgRankBulk" parameterClass="mjonMsgVO">