Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
BEST
Programming

/

Back-end

High-Performance SQL for JPA (ORM) Developers

Make the most of relational database systems!

(4.8) 22 reviews

533 learners

  • vladmihalcea
SQL
performance-tuning
sql-query
DBMS/RDBMS

Reviews from Early Learners

What you will learn!

  • Learn SQL performance tuning and optimization tips from a world-renowned expert in Hibernate and JPA.

  • Learn how to write SQL considering efficient interaction between backend applications and databases.

  • Here are some criteria for determining which SQL strategy (JOIN, subquery, CTE, window function, etc.) can maximize performance in an ORM environment:

  • Let's compare performance optimization query strategies in major RDBMSs such as Oracle, SQL Server, MySQL, and PostgreSQL, and clearly indicate situations where they work well or do not work in each database.

  • Learn how to leverage advanced query techniques such as Upsert and Merge in various RDBMS environments, focusing on real-world use cases.

  • Master the latest SQL topics, including transaction isolation level issues, locking strategies, JSON data processing, and advanced indexing strategies, to enhance your ability to maximize application performance.

Vlad-banner (edited)

Learn from global experts
High-Performance SQL Tuning Strategies

Is the SQL you're writing now really optimized?

DB performance is determined by 'query design', not code optimization.

" The moment you understand the essence of queries , your database changes ."

Many developers are familiar with writing SQL and implementing logic, but what actually determines database performance is how the queries are written.

Queries that return identical results can have performance differences of tens of times depending on the order of joins, the location of subqueries, and how indexes are utilized.
However, if you do not read the execution plan and just use the SQL generated by the ORM or repeat only familiar patterns, the bottleneck will always be 'deeply hidden' and burden the operation.

While not every application developer needs to have a DBA-level understanding of SQL, there are some core SQL performance techniques that should never be overlooked when developing applications.

Many developers are only familiar with ORM, or conversely, only with SQL, but it is rare to understand and utilize these two in an organic way.
This lecture will help you view ORM and SQL not as separate technologies, but as tools that can create synergy with each other .

SQL is not just a data query language; it's a tool for making decisions about databases and performance.
Once you understand the nature of queries, improving performance becomes a design decision, not a matter of intuition.

Designed for performance
SQL thinking

If you take the "High-Performance SQL" course,

Practical SQL that designs strategic structures , not just lists functions.

The key to practical application lies not in the individual JOINs, subqueries, CTEs, and window functions, but in how to combine them and when to choose them . This course goes beyond simply listing functions. It trains practical thinking skills, comparing various strategies based on data structure and requirements and designing the optimal query structure .

A learning method that "directly acquires" query performance.

This course goes beyond simply learning grammar. It's designed to help you execute real queries, compare response times, and gain firsthand experience by identifying bottlenecks and improving structure line by line . Focusing on SQL design principles applicable across diverse environments like PostgreSQL, MySQL, and Oracle, this course allows you to master the core concepts of performance tuning without relying on specific tools.

From Transactions to JSON, Level Up Your Skills with Advanced SQL

From window functions and transaction isolation levels to optimistic and pessimistic locking and JSON processing—we systematically cover advanced topics that are frequently encountered in practice but difficult to master. This course will help you go beyond simple query writing skills.
You will acquire practical SQL skills that cover performance, concurrency, and data design .

Learning Content

Various JOIN methods and performance optimization strategies

Compare various SQL join methods, including INNER, OUTER, NATURAL, and LATERAL JOIN, and analyze the selection criteria and performance differences based on the situation. Learn query optimization flow centered on execution plans and develop the ability to identify where performance bottlenecks actually occur.

Structuring queries using subqueries and derived tables

Compare the pros and cons of JOINs and subqueries, and understand the internal workings of various subquery expressions, such as EXISTS, IN, and ANY/ALL. You'll also practice structurally restructuring complex queries using derived tables and common table expressions (CTEs), ensuring both readability and performance.

Recursive queries and hierarchical data processing

Learn how to effectively process hierarchical data such as tree structures or organizational charts using recursive CTEs. You will learn how to execute recursive queries and performance considerations, and acquire the SQL skills necessary for implementing actual business logic.

Constructing complex analytical queries with window functions

Implement complex analysis logic such as aggregation, sorting, and ranking using SQL using window functions such as ROW_NUMBER, RANK, DENSE_RANK, and LAG/LEAD. Understand the internal workings of window frames and PARTITION BY, and practice advanced techniques for aggregating data without performance degradation.

SQL utilization techniques frequently used in practice

Learn how to process inserts and updates simultaneously using Upsert and Merge statements, and learn techniques to flexibly transform the shape of data using Pivot/Unpivot. Also, understand the exact order of SQL execution, learn the operating principles of various pagination methods, and improve your understanding of query flow.

Advanced SQL, including transactions and JSON processing

Learn concurrency control techniques based on ACID properties and transaction isolation levels, compare pessimistic and optimistic locking strategies, and learn how to handle JSON data types in SQL, expanding your SQL capabilities to support modern data models.

Recommended for
these people

Who is this course right for?

  • For those who use ORM but crave performance improvements

  • SQL tuning is typically handled by DBAs, so some may crave experience in improving SQL performance.

  • For those who use SQL but feel they lack the skills for performance improvement or the criteria for choosing strategies.

  • For those looking to develop a knack for solving complex query problems encountered in real-world work scenarios.

  • Developers who want to systematically learn advanced SQL topics such as JOIN, CTE, transactions, and JSON.

Need to know before starting?

  • Basic usage of JAVA and Spring Framework

  • Basic SQL writing skills

  • Experience with relational databases

Hello
This is

1,148

Learners

61

Reviews

4.4

Rating

2

Courses

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 UtilsFlexyPool과 같은 새로운 오픈 소스 프로젝트를 시작하기도 합니다.

Curriculum

All

79 lectures ∙ (7hr 37min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

22 reviews

4.8

22 reviews

  • 모깅님의 프로필 이미지
    모깅

    Reviews 25

    Average Rating 5.0

    5

    34% enrolled

    아주 자세하게 설명해주셔서 탑 개발자는 어떤식으로 생각하고 개발하는지 배울 수 있었습니다. 남은 강의도 꼭꼭 씹어먹겠습니다!

    • Vlad Mihalcea
      Instructor

      Thank you for your review. I'm happy you found the course useful.

  • hahahl님의 프로필 이미지
    hahahl

    Reviews 46

    Average Rating 5.0

    5

    9% enrolled

    사고의 흐름을 배울 수 있는 방법이 도움이 많이 됩니다. 영어로 듣고 복습은 시간을 절약하기 위해 2배속 한국어로 듣는데 전혀 어색함이 없네요

    • Vlad Mihalcea
      Instructor

      I'm glad you liked it. My course was recorded in English, but the Inflearn platform managed to provide the dubbing and subtitiles in Korean.

  • 화를참자님의 프로필 이미지
    화를참자

    Reviews 6

    Average Rating 5.0

    5

    8% enrolled

    블라드님 강의가 있다는 건도 알고 있었지만, 영어가 안돼서 망설이다 말았었습니다. 블라드님이 언제 한국어를 배운건지 모르겠지만, 한국어로 지식을 공유해주셔서 감사합니다... 강의 슬라이드 너무 좋네요. 블라드님이 전달하고싶은 부분을 바로바로 파악할 수 있었습니다. 나머지도 잘 학습해보겠습니다

    • Vlad Mihalcea
      Instructor

      Thank you for appreciating my course. I'm glad you enjoyed it.

  • asdf님의 프로필 이미지
    asdf

    Reviews 10

    Average Rating 5.0

    5

    37% enrolled

    다양한 상황에서 어떤 전략을 적용하는 것이 좋은지 잘 설명해 주십니다. SQL 역량을 키우는 데 도움이 많이 될 것 같습니다.

  • 알고리즘가즈앙님의 프로필 이미지
    알고리즘가즈앙

    Reviews 2

    Average Rating 5.0

    5

    6% enrolled

    진짜 블로그로만 보다가 이번에 강의나왓다해서 바로 신청햇어여!! 좋은강의 너무 감사하고 한국어로 설명해주셔서 부담감없이 듣고잇어요~~~

    • Vlad Mihalcea
      Instructor

      Thank you for such a quick enrolment and enjoy the video lessons.

$176.00

vladmihalcea's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!