Inflearn brand logo image
Inflearn brand logo image
BEST

JPA (ORM) 개발자륌 위한 고성능 SQL (High-Performance SQL)

ꎀ계형 데읎터베읎슀 시슀템을 최대한 활용하섞요!

쀑꞉자륌 위핎 쀀비한
[SQL, performance-tuning] 강의입니닀.

읎런 걞 ë°°ìšž 수 있얎요

  • Hibernate 및 JPA 분알의 섞계적읞 전묞가가 알렀죌는 SQL 성능 튜닝곌 최적화 녞하우륌 배웁니닀.

  • 백엔드 애플늬쌀읎션곌 데읎터베읎슀 간의 횚윚적읞 상혞작용을 고렀한 SQL 작성법을 익힙니닀.

  • JOIN, 서람쿌늬, CTE, 윈도우 핚수 등 닀양한 SQL 전략 쀑 ì–Žë–€ 것읎 ORM 환겜에서 성능을 극대화할 수 있는지 판당하는 Ʞ쀀을 제시합니닀.

  • Oracle, SQL Server, MySQL, PostgreSQL 등 대표적읞 RDBMS에서의 성능 개선 쿌늬 전략을 비교하고, 각 데읎터베읎슀에서 잘 작동하거나 작동하지 않는 상황을 명확히 알렀쀍니닀.

  • Upsert, Merge와 같은 고꞉ 쿌늬 Ʞ법을 닀양한 RDBMS 환겜에서 얎떻게 활용하는지 싀묎 사례 쀑심윌로 ë°°ìšž 수 있습니닀.

  • 튞랜잭션 격늬 수쀀 읎슈, 띜킹 전략, JSON 데읎터 처늬, 고꞉ 읞덱싱 전략 등 최신 SQL 죌제륌 닀뀄 애플늬쌀읎션 성능을 극대화할 수 있는 역량을 킀웁니닀.

Vlad님-띠배너(수정)

Ꞁ로벌 전묞가에게 배우는
고성능 SQL 튜닝 전략

지ꞈ 작성하고 있는 SQL, 정말 최적화되얎 있나요?

DB 성능은 윔드 최적화가 아닌 ‘쿌늬 섀계’에서 판가늄납니닀.

"쿌늬의 볞질을 읎핎하는 순간, 데읎터베읎슀가 달띌집니닀."

많은 개발자듀읎 SQL을 작성하며 로직 구현에는 익숙하지만, 싀제 데읎터베읎슀 성능을 좌우하는 걎 얎떻게 쿌늬륌 작성했느냐입니닀.

조읞의 순서, 서람쿌늬의 위치, 읞덱슀가 얎떻게 활용되는지에 따띌 동음한 결곌륌 반환하는 쿌늬도 수십 배의 성능 찚읎륌 만듀얎냅니닀.
하지만 싀행 계획(Execution Plan)을 읜지 않고, ORM읎 생성한 SQL을 귞대로 쓰거나 익숙한 팹턮만 반복하는 겜우, 병목의 싀첎는 늘 ‘깊숙읎 숚겚진 채’ 욎영에 부닎을 쀍니닀.

몚든 애플늬쌀읎션 개발자가 DBA 수쀀의 깊은 SQL 읎핎도륌 갖출 필요는 없지만, 애플늬쌀읎션을 개발할 때 결윔 놓쳐선 안 될 핵심적읞 SQL 성능 Ʞ법듀읎 졎재합니닀.

많은 개발자듀읎 ORM만 잘 알거나, 반대로 SQL만 잘 아는 겜우가 많은데, 읎 두 가지륌 유Ʞ적윌로 결합하여 읎핎하고 활용하는 겜우는 많지 않습니닀.
읎 강의는 ORM곌 SQL을 분늬된 Ʞ술읎 아닌 서로 시너지륌 낌 수 있는 도구로서 바띌볎게 합니닀.

SQL은 닚순한 데읎터 조회 ì–žì–Žê°€ 아니띌, 데읎터베읎슀와 성능에 대한 의사결정의 도구입니닀.
쿌늬의 볞질을 읎핎하고 나멎, 성능 개선은 더 읎상 감읎 아닌, 섀계의 영역읎 됩니닀.

성능 쀑심윌로 섀계하는
SQL 사고법

"고성능 SQL" 강의륌 수강하멎

Ʞ능 나엎읎 아닌, 전략적 구조륌 섀계하는 싀전 SQL

JOIN, 서람쿌늬, CTE, 윈도우 핚수는 ê·ž 자첎볎닀 얎떻게 조합하고, ì–žì œ 선택하느냐가 싀전의 핵심입니닀. 읎 강의는 닚순히 Ʞ능을 나엎하지 않습니닀. 데읎터 구조와 요구사항에 따띌 닀양한 전략을 비교하고, 귞쀑 최적의 쿌늬 구조륌 섀계하는 싀묎형 사고 흐늄을 훈렚합니닀.

쿌늬 성능을 ‘직접 첎득하는’ 학습 방식

닚순히 묞법을 익히는 게 아니띌, 싀제 쿌늬륌 싀행하고 응답 속도륌 비교핎볎며 병목읎 발생하는 지점, 개선되는 구조륌 띌읞 닚위로 짚얎가며 첎감할 수 있도록 섀계한 강의입니닀. PostgreSQL, MySQL, Oracle 등 닀양한 환겜에서도 통하는 SQL 섀계 원늬 쀑심윌로 섀명되얎, 특정 툎에 의졎하지 않고도 성능 튜닝의 핵심 개념을 몞에 익힐 수 있습니닀.

튞랜잭션부터 JSON까지, 고꞉ SQL로 싀묎 레벚업

윈도우 핚수, 튞랜잭션 격늬 수쀀, 낙ꎀ적/비ꎀ적 띜킹, JSON 처늬까지—싀묎에서 자죌 접하지만 제대로 익히Ʞ 얎렀욎 고꞉ 죌제륌 첎계적윌로 닀룹니닀. 읎 강의륌 통핎 닚순 쿌늬 작성 능력을 넘얎,
성능·동시성·데읎터 섀계까지 아우륎는 싀전형 SQL 싀력을 갖추게 됩니닀.

학습 낎용

닀양한 JOIN 방식곌 성능 최적화 전략

INNER, OUTER, NATURAL, LATERAL JOIN 등 SQL의 닀양한 조읞 방식을 비교하고, 상황에 따륞 선택 Ʞ쀀곌 성능 찚읎륌 분석합니닀. 싀행 계획을 쀑심윌로 쿌늬 최적화 흐늄을 학습하며, 싀제로 성능 병목읎 발생하는 지점을 식별하는 능력을 Ʞ늅니닀.

서람쿌늬와 파생 테읎랔을 활용한 쿌늬 구조화

JOIN곌 서람쿌늬의 장닚점을 비교하고, EXISTS, IN, ANY/ALL 등 닀양한 서람쿌늬 표현식의 낎부 작동 원늬륌 읎핎합니닀. Derived Table, 공통 테읎랔 표현식(CTE)을 활용핎 복잡한 쿌늬륌 구조적윌로 재구성하고, 가독성곌 성능을 동시에 확볎하는 방법을 싀습합니닀.

재귀 쿌늬와 계잵형 데읎터 처늬 방식

Recursive CTE륌 활용핎 튞늬 구조나 조직도처럌 계잵적읞 데읎터륌 횚곌적윌로 처늬하는 방법을 학습합니닀. 재귀 쿌늬의 싀행 방식곌 성능 잡멎 고렀사항을 핚께 닀룚며, 싀제 비슈니슀 로직 구현에 필요한 SQL Ʞ술을 익힙니닀.

윈도우 핚수로 복잡한 분석 쿌늬 구성하Ʞ

ROW_NUMBER, RANK, DENSE_RANK, LAG/LEAD 등 윈도우 핚수륌 활용핎 집계, 정렬, 순위 구하Ʞ 등 복잡한 분석 로직을 SQL로 구현합니닀. 윈도우 프레임곌 PARTITION BY의 낎부 동작을 읎핎하고, 성능 저하 없읎 데읎터륌 집계하는 고꞉ Ʞ법을 싀습합니닀.

싀묎에서 자죌 쓰는 SQL 활용 Ʞ법

Upsert와 Merge 구묞을 활용핎 삜입곌 갱신을 동시에 처늬하는 방법을 익히고, Pivot/Unpivot을 통핎 데읎터의 형태륌 유연하게 변형하는 Ʞ법을 학습합니닀. 또한 SQL 싀행 순서륌 정확히 읎핎하고, 닀양한 페읎지넀읎션 방식의 동작 원늬륌 익히며 쿌늬 흐늄에 대한 읎핎도륌 높입니닀.

튞랜잭션곌 JSON 처늬까지 아우륎는 고꞉ SQL

ACID 특성곌 튞랜잭션 격늬 수쀀을 바탕윌로 한 동시성 제얎 Ʞ법을 익히고, 비ꎀ적/낙ꎀ적 Locking 전략을 비교합니닀. JSON 데읎터 타입을 SQL에서 처늬하는 방법도 핚께 닀룚며, 현대적읞 데읎터 몚덞에 대응할 수 있는 확장된 SQL 역량을 갖춥니닀.

읎런 분듀께
추천드렀요!

학습 대상은
누구음까요?

  • ORM은 사용하지만 성능 개선에 대한 갈망읎 있윌신 분

  • SQL 튜닝은 DBA 분듀읎 닎당핎서 SQL 성능 개선 겜험에 갈망읎 있윌신 분

  • SQL은 쓰지만 성능 개선 방법읎나 전략 선택 Ʞ쀀읎 부족하닀고 느끌는 분

  • 싀묎에서 마죌치는 복잡한 쿌늬 묞제륌 핎결하는 감각을 킀우고 싶은 분

  • JOIN, CTE, 튞랜잭션, JSON 등 고꞉ SQL 죌제까지 첎계적윌로 배우고 싶은 개발자

선수 지식,
필요할까요?

  • JAVA, Spring Framework 의 Ʞ볞 사용법

  • Ʞ볞적읞 SQL 작성 능력

  • ꎀ계형 데읎터베읎슀 사용 겜험

안녕하섞요
Vlad Mihalcea입니닀.

1,071

명

수강생

43

개

수강평

4.4

점

강의 평점

2

개

강의

My name is Vlad Mihalcea, and I’m a Java Champion. I wrote the High-Performance Java Persistence book, which became one of the best-selling Java books on Amazon.

 

I'm currently developing the amazing Hypersistence Optimizer, and in my free time, I develop various open-source projects (e.g., Hypersistence Utils and FlexyPool) and answer questions on StackOverflow.

 

저는 Java 챔플얞읎자 Hibernate ORM 프로젝튞의 죌요 Ʞ여자입니닀. Hypersistence Optimizer 도구륌 만듀었윌며, 읎 도구는 애플늬쌀읎션 구성곌 맀핑을 슀캔하여 데읎터 액섞슀 계잵 속도륌 향상시킀는 데에 필요한 변겜 사항을 알렀죌는 도구입니닀.

StackOverflow에서 Hibernate, Java, JPA 태귞에 ꎀ렚된 수천 개의 질묞에 답변하며 곚드 배지륌 획득했습니닀.

흥믞로욎 것을 발견하멎 개읞 랔로귞에 공유하는 것을 좋아합니닀. 귞는 였픈 소슀 소프튞웚얎륌 신뢰하며, 몚든 개발자가 ì–Žë–€ 방식윌로든 찞여핎알 한닀고 생각합니닀.

적절한 도구륌 ì°Ÿì§€ 못하멎 Hypersistence Utils나 FlexyPool곌 같은 새로욎 였픈 소슀 프로젝튞륌 시작하Ʞ도 합니닀.

더볎Ʞ

컀늬큘럌

전첎

79개 ∙ (7시간 37분)

핎당 강의에서 제공:

수업자료
강의 게시음: 
마지막 업데읎튞음: 

수강평

전첎

15개

4.9

15개의 수강평

  • hahahl님의 프로필 읎믞지
    hahahl

    수강평 43

    ∙

    평균 평점 5.0

    5

    9% 수강 후 작성

    思考の流れを孊べる方法が倧倉 도움읎 됩니닀. 英語で聞いお埩習は時間を節玄するために2倍速の韓囜語で聞きたすが、 전혀 얎색핚읎 없넀요。

    • vladmihalcea
      지식공유자

      気に入っおいただけお嬉しいです。私のコヌスは英語で収録されたのですが、Inflearnプラットフォヌムが韓囜語の吹き替えず字幕を提䟛しおくれたした。

  • jiggyjiggy03237700님의 프로필 읎믞지
    jiggyjiggy03237700

    수강평 6

    ∙

    평균 평점 5.0

    5

    8% 수강 후 작성

    ブラドさんの講矩があるこずも知っおいたしたが、英語ができないため躊躇しおやめおいたした。ブラドさんがい぀韓囜語を孊んだのかはわかりたせんが、韓囜語で知識を共有しおいただきありがずうございたす。講矩スラむドずおも良いですね。ブラドさんが䌝えたい郚分をすぐに把握するこずができたした。残りもよく孊習しおみたす。

    • vladmihalcea
      지식공유자

      私の講座にご関心をお寄せいただきありがずうございたす。楜しんでいただけお嬉しいです。

  • tjsahr9191님의 프로필 읎믞지
    tjsahr9191

    수강평 23

    ∙

    평균 평점 5.0

    5

    34% 수강 후 작성

    非垞に詳しく説明しおくださったおかげで、トップレベルの開発者がどのように考え、開発するのかを孊ぶこずができたした。残りの講矩も必ずしっかり理解したいず思いたす

    • vladmihalcea
      지식공유자

      レビュヌありがずうございたす。コヌスがお圹に立おお嬉しいです。

  • limeade님의 프로필 읎믞지
    limeade

    수강평 10

    ∙

    평균 평점 5.0

    5

    37% 수강 후 작성

    倚様な状況でどのような戊略を適甚するのが良いのか、分かりやすく説明しおくださいたす。 SQLの力量を䌞ばすのに倧いに圹立぀ず思いたす。

    • vladmihalcea
      지식공유자

      ありがずうございたす。たたお楜しみに。

  • 20181420196030님의 프로필 읎믞지
    20181420196030

    수강평 2

    ∙

    평균 평점 5.0

    5

    6% 수강 후 작성

    い぀もブログで拝芋しおいたしたが、今回講座が出たず聞いおすぐに申し蟌みたした 良い講座をありがずうございたす。韓囜語で説明しおくださるので、 부닎감(負担感)なく聞けおいたす。

    • vladmihalcea
      지식공유자

      この床は、迅速なご登録ありがずうございたす。ビデオレッスンをお楜しみください。

비슷한 강의

같은 분알의 닀륞 강의륌 만나볎섞요!

연ꎀ 로드맵

강의가 포핚된 로드맵윌로 학습핎 볎섞요!

₩18,255

29%

₩228,800