Get the most out of your relational database system
SQL has come a long way since SQL:92
SQL is the most successful data access querying language. It's been constantly evolving over the past 40 years, and, nowadays, even NoSQL database systems have started employing SQL engines.
- 2MULTIPLE DATABASE SUPPORT
All SQL examples are inspired by real-life scenarios. All code is on GitHub, and you will have exclusive access to the source repository and benefit from future updates.
- 3MULTIPLE DATABASE SUPPORT
The High-Performance SQL video course is designed for Oracle, SQL Server, PostgreSQL and MySQL.
8 Video Course Modules (60 videos – 6 hours and 17 minutes)
- Introduction and CROSS JOIN (8:06)
- INNER JOIN (7:22)
- NATURAL JOIN (6:15)
- LEFT JOIN and RIGHT JOIN (5:49)
- FULL JOIN (5:34)
- LATERAL JOIN and CROSS APPLY (11:40)
- JOIN vs. Subquery (8:01)
- Nested Loops (5:03)
- Hash Join (5:05)
- Merge Join (4:15)
- Join and Group By (4:14)
- JOIN vs. Subquery (7:35)
- EXISTS and NOT EXISTS (6:00)
- IN and NOT IN (8:34)
- ANY and ALL (5:07)
- Column Expression (7:36)
Derived Tables and CTE
- Derived Table (8:01)
- CTE (6:14)
- Derived Table and Group By (6:35)
- Recursive CTE (7:57)
- Hierarchical Models (24:01)
- SQL Standard Pagination (5:44)
- Legacy Pagination (6:03)
- Streaming vs. Pagination (5:42)
- Keyset Pagination (5:20)
- Better Pagination (4:26)
SQL Operation Order
- FROM and JOIN (8:11)
- WHERE, GROUP BY, and HAVING (8:02)
- Window Functions, SELECT, and DISTINCT (6:39)
- UNION, ORDER BY, OFFSET, and LIMIT (3:49)
Pivot and Upsert
- Pivot (4:53)
- Unpivot (6:16)
- Upsert using Merge (6:45)
- Upsert using ON DUPLICATE (7:06)
- When to use JSON columns (10:53)
- Oracle JSON Functions (21:43)
- Oracle JSON Indexing (4:50)
- Oracle JSON Assignment (4:50)
- SQL Server JSON Functions (10:01)
- SQL Server JSON Indexing (1:42)
- SQL Server JSON Assignment (2:48)
- PostgreSQL JSON Functions (13:07)
- PostgreSQL JSON Indexing (4:54)
- MySQL JSON Functions (6:02)
- PostgreSQL JSON Indexing (0:59)
- JSON Conclusion (4:17)
- Group By vs. Window Functions (5:41)
- Default Frame (6:43)
- Specific Frame (7:25)
- Running Total (4:09)
- ROW_NUMBER (2:36)
- RANK and DENSE_RANK (3:27)
- FIRST_VALUE and LAST_VALUE (1:58)
- PERCENTILE_CONT and PERCENTILE_DISC (7:50)
- CUME_DIST and PERCENT_RANK (4:00)
- NTILE (4:06)
Start Today! Choose Your Plan Below
Online Edition - $199
Downloadable Edition - $249
Unlimited access to course material
The videos quality is high definition (e.g. 1080p) with an audio bitrate of 320, offering an exquisite learning experience.
All video episodes are recorded in English, and the slides used during the video recordings are available as well.
All source code is provided so that you can run any example any time you want.
What People Are Saying...
Software Developer - ABS Laundry Business Solutions
Our company has been delivering an ERP solution for laundries for more than 25 years. Our application uses Oracle, Java, Spring, and JDBC as its backbone.
Most of the performance problems reported by our customers find their root cause in the persistence layer. During his course, Vlad showed us how we should tackle these kinds of issues, breaking up the execution time of a statement into atomic bits and improving the performance for each of them. We found that optimizing the persistence layer is much more than just writing an SQL query as efficiently as possible. The framework allows for a lot of configuration we were not aware of, even in our case, where we are using plain JDBC. There are also some other architectural decisions that might have an amazing impact on the speed, such as caching, batching, or fetching options.
I enjoyed the fact that Vlad successfully managed to deliver custom training tailored to our needs. He had no problem adjusting the content, as he immediately understood our application’s architecture. Although his course contains a lot of information on various DBMSs, such as SQL Server, PostgreSQL, and MySQL (also comparing their performances) and on frameworks such as Hibernate, he focused on the technologies we are currently using and provided a lot of tips and tricks to help us tune our data access layer. The information was delivered at a pace that could be followed by all participants, and he promptly answered all our questions.
The course was delivered online - given the pandemic situation – and we had a very good interaction, with our colleagues being involved in the discussion through periodical Q&A or hands-on exercises.
Vlad offers a repository with an impressive library of integration tests that illustrate each concept presented throughout the course. Given the level of abstraction they provide and the way they were written, using the latest version of Java, taking gain of the latest additions in the JDK, and abiding by the clean code standards, it would not be an exaggeration to say they provide state of the art in this domain. Every developer writing tests should take a look at them to make sure the application is checked for most hidden vulnerabilities.
I highly recommend the High-Performance SQL and Java Persistence Trainings delivered by Vlad for all companies that want to make sure the data management solution in their application is put to proper use!
Java Developer - Societe Generale European Business Services
As a Java developer, I often find myself interacting with databases and writing SQL queries. After attending Vlad's High-Performance SQL, I found answers to many problems that I faced over the years.
Vlad has a dynamic approach to teaching that motivates and engages everybody in the room. The presentation covered a lot of fascinating topics, and the content was well structured.
Every section had real-life code examples helping solidify the information presented.
This was a great training course that covered a lot of advanced SQL concepts.
30 Days Money Back Guarantee
I firmly believe you will get a lot of value out of this video course, and that it can help you optimize a data access layer that barely crawls so that it can ultimately run both effectively and efficiently.
However, if you are unsatisfied with your purchase, you can contact us in the first 30 days, and we will give you a full refund.
Here are answers to some frequently asked questions:
When does the course start and finish?
The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
Why should I buy this course instead of any other?
The author of this video course is a Java Champion and a top committer to the Hibernate project. After years of answering questions on StackOverflow and the Hibernate forum, the author has identified the most common application performance problems software developers bump into while interacting with relational databases.