728x90

mysql8 부터 캐싱 지원을 하지 않아서 예전 코드 실행시 느려진다.

 

1. 함수를 이용하면 실행이 엄청 느려진다.

2. 내부 select 문에서 페이징이나 함수 실행시 엄청 느려진다.

 

## refid(reference id)는 반복되는 쿼리를 미리 작성해 놓고 재활용

<select id="selectCList" parameterType="searchVO" resultType="egovMap">
    SELECT     
        /* , GET_NAME('BIZ', A.BIZ_ID) AS BIZ_NM */
        <include refid="common.getBizNm" /> AS BIZ_NM
    FROM (
        SELECT 
           ~~~~
    )       
</select>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="common">

	<!--
	거래처명을 조회함 : GET_NAME('BIZ', A.BUY_BIZ_ID) AS BUY_BIZ_NM 수행시 인덱스 사용 못 하여 성능 안남
	Modification             Name                Content
	********************     ***************     ******************************
	2022.12.01               Kim Songsu          1.0
	-->
	<sql id="getBuyBizNm">
	    ,(SELECT BIZ_NM FROM DA_BIZ WHERE BIZ_ID = A.BUY_BIZ_ID)
	</sql>
	<sql id="getBuyBizNm1">
	    ,(SELECT BIZ_NM FROM DA_BIZ WHERE BIZ_ID = B.BUY_BIZ_ID1)
	</sql>
	<sql id="getBuyBizNm2">
	    ,(SELECT BIZ_NM FROM DA_BIZ WHERE BIZ_ID = B.BUY_BIZ_ID2)
	</sql>
	<sql id="getSaleBizNm">
	    ,(SELECT BIZ_NM FROM DA_BIZ WHERE BIZ_ID = A.SALE_BIZ_ID)
	</sql>
	<sql id="getBuyPhone1">
	    ,(SELECT PHONE1 FROM DA_BIZ WHERE BIZ_ID = A.BUY_BIZ_ID) AS BUY_BIZ_PHONE1
	</sql>
	<sql id="getSalePhone1">
	    ,(SELECT PHONE1 FROM DA_BIZ WHERE BIZ_ID = A.SALE_BIZ_ID) AS SALE_BIZ_PHONE1
	</sql>
	<sql id="getBuyPhone5">
	    ,(SELECT PHONE5 FROM DA_BIZ WHERE BIZ_ID = A.BUY_BIZ_ID) AS BUY_BIZ_PHONE5
	</sql>
	<sql id="getSalePhone5">
	    ,(SELECT PHONE5 FROM DA_BIZ WHERE BIZ_ID = A.SALE_BIZ_ID) AS SALE_BIZ_PHONE5
	</sql>
	<sql id="getBizNm">
	    ,(SELECT BIZ_NM FROM DA_BIZ WHERE BIZ_ID = A.BIZ_ID)
	</sql> 
	
</mapper>
728x90

+ Recent posts