강의

멘토링

커뮤니티

BEST
Programming

/

Back-end

High-Performance SQL for JPA (ORM) Developers

Make the most of relational database systems!

(4.9) 31 reviews

583 learners

  • Vlad Mihalcea
SQL
performance-tuning
sql-query
DBMS/RDBMS

Reviews from Early Learners

What you will gain after the course

  • 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,234

Learners

73

Reviews

4.5

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

31 reviews

4.9

31 reviews

  • tjsahr9191님의 프로필 이미지
    tjsahr9191

    Reviews 27

    Average Rating 5.0

    5

    34% enrolled

    Thanks to your very detailed explanation, I was able to learn how top developers think and develop. I will make sure to digest the remaining lectures!

    • vladmihalcea
      Instructor

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

  • hahahl님의 프로필 이미지
    hahahl

    Reviews 55

    Average Rating 5.0

    5

    9% enrolled

    Learning how to follow the flow of thought is very helpful. I listen in English and then review in Korean at double speed to save time, and it doesn't feel awkward at all.

    • vladmihalcea
      Instructor

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

  • jiggyjiggy님의 프로필 이미지
    jiggyjiggy

    Reviews 6

    Average Rating 5.0

    5

    8% enrolled

    I knew Vlad had a lecture, but I hesitated because I'm not good at English. I don't know when Vlad learned Korean, but thank you for sharing your knowledge in Korean. The lecture slides are great. I was able to immediately grasp what Vlad wanted to convey. I'll study the rest well.

    • vladmihalcea
      Instructor

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

  • 20181420196030님의 프로필 이미지
    20181420196030

    Reviews 2

    Average Rating 5.0

    5

    6% enrolled

    I've only ever seen your content on blogs, but when I heard about the lecture, I signed up right away! I'm so grateful for the great lecture, and I'm listening without any pressure because you're explaining it in Korean~~~

    • vladmihalcea
      Instructor

      Thank you for the quick enrollment and enjoy the video lessons.

  • limeade님의 프로필 이미지
    limeade

    Reviews 12

    Average Rating 5.0

    5

    37% enrolled

    You explain well which strategies are good to apply in various situations. I think it will be very helpful in improving my SQL skills.

    • vladmihalcea
      Instructor

      감사합니다. 계속 지켜봐 주세요.

$176.00

Vlad Mihalcea's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!