<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Sql on Gukin Han</title>
    <link>https://gukin.dev/tags/sql/</link>
    <description>Recent content in Sql on Gukin Han</description>
    <generator>Hugo</generator>
    <language>ko-kr</language>
    <lastBuildDate>Sat, 13 Dec 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://gukin.dev/tags/sql/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>상관 서브쿼리로 인한 읽기 병목 개선</title>
      <link>https://gukin.dev/posts/correlated-subquery-read-bottleneck/</link>
      <pubDate>Sat, 13 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://gukin.dev/posts/correlated-subquery-read-bottleneck/</guid>
      <description>&lt;h2 id=&#34;요약&#34;&gt;요약&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;문제
&lt;ul&gt;
&lt;li&gt;운영 환경에서 조회 API 응답 지연(1초 이상) 이슈 발생&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;상관 서브쿼리로 인한 N+1 패턴&lt;/strong&gt;이 DB 레벨에서 발생&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;과정
&lt;ul&gt;
&lt;li&gt;실행 계획 분석을 통해 Nested Loop 반복 실행과 &lt;strong&gt;옵티마이저 통계 오류&lt;/strong&gt;를 확인&lt;/li&gt;
&lt;li&gt;상관 서브쿼리를 &lt;strong&gt;CTE + Hash Join&lt;/strong&gt; 구조로 리팩토링&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;성과
&lt;ul&gt;
&lt;li&gt;서브쿼리 실행 &lt;strong&gt;92회에서 1회로 감소&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;총 실행 비용 &lt;strong&gt;246.0에서 40.6로 감소&lt;/strong&gt; (약 83% 개선, 6배 성능 향상)&lt;/li&gt;
&lt;li&gt;운영 데이터 기준으로 실행 계획 변화와 성능 개선을 수치로 검증&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;문제-배경&#34;&gt;문제 배경&lt;/h2&gt;
&lt;p&gt;운영 중인 서비스에서 특정 테넌트 기준 조회 API의 응답지연이 보고되었다. 슬로우 쿼리 분석 결과, 직원을 그룹화하는 테이블의 조회 쿼리 내부에 상관 서브쿼리(Correleated Subquery)가 포함되어있었다. 그 영향으로 메인 쿼리 결과 행 수만큼 서브쿼리가 반복 실행되는 문제가 발생했다.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
