Просмотр исходного кода

쿼리속도개선- 브랜드 전체 조회

jmh 4 лет назад
Родитель
Сommit
8d63fdd215
1 измененных файлов с 7 добавлено и 6 удалено
  1. 7 6
      src/main/java/com/style24/persistence/mybatis/shop/TsfDisplay.xml

+ 7 - 6
src/main/java/com/style24/persistence/mybatis/shop/TsfDisplay.xml

@@ -1271,6 +1271,12 @@
 	<!-- 브랜드 전체 조회 -->
 	<select id="getAllBrandList" parameterType="BrandGroup" resultType="BrandGroup">
 		/* TsfDisplay.getAllBrandList */
+		WITH EXIST_BRAND AS (
+            SELECT DISTINCT BRAND_CD 
+            FROM   TB_GOODS G
+            WHERE  1=1
+            AND    G.GOODS_STAT = 'G008_90'		
+		)
 		SELECT	DISTINCT Z.BRAND_GROUP_NO
 		      , FN_GET_BRAND_INITIAL(Z.BRAND_GROUP_NM) AS BRAND_INITIAL
 		      , Z.BRAND_GROUP_NM
@@ -1287,6 +1293,7 @@
 		            , BG.LOGO_FILE_NM
 		      FROM  TB_BRAND B
 		      INNER JOIN TB_BRAND_GROUP BG ON B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
+		      INNER JOIN EXIST_BRAND EB ON B.BRAND_CD = EB.BRAND_CD
 		      WHERE	1=1
 		      AND	B.USE_YN = 'Y'
 		      AND	BG.USE_YN = 'Y'
@@ -1300,12 +1307,6 @@
 		      <if test="brandGroupNm != null and brandGroupNm != ''">
 		      AND	(BG.BRAND_GROUP_ENM LIKE CONCAT('%',#{brandGroupNm},'%') OR BG.BRAND_GROUP_KNM LIKE CONCAT('%',#{brandGroupNm},'%'))
 		      </if>
-		      AND   EXISTS (
-		                SELECT 1
-		                FROM   TB_GOODS G
-		                WHERE  G.BRAND_CD = B.BRAND_CD
-		                AND    G.GOODS_STAT = 'G008_90'
-		            )
 		      GROUP BY BG.BRAND_GROUP_NO, B.BRAND_ENM, B.BRAND_KNM
 		) Z
 		WHERE	1=1