Get the most out of SQL
SQL has come a long way since SQL:92
- 1MUltiple database support
The High-Performance SQL is designed for Oracle, SQL Server, PostgreSQL and MySQL.
- 2PRACTICAL EXAMPLES
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.
- 3Present-Day SQL
SQL has come a long way since SQL:92. This training teaches you many useful features like Window Functions, Lateral Joins, Recursive Common Table Expressions, that will help you write better queries to address complex data access requirements.
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!
Software Architect - AROBS
As a senior architect for enterprise systems, I was drawn to data persistence. So, for over a decade, I stayed in touch with SQL capabilities. It's funny how, in order to find out how much you don't know, you have to be exposed to more knowledgeable people. For me, after having Vlad in our company to deliver a high-level workshop, my previous feeling of being connected to SQL soon shifted to realizing that I've been only scratching the surface when it comes to SQL.
The feedback from our colleagues was diverse, varying from "the next level of SQL", "great examples with real application use-cases", to "wow, can SQL do that?", and "we should give more time to analyzing SQL queries in our projects since data growth can lead to performance issues".
SQL, as any programming language has evolved, both conceptually and practically. Vlad's training presented all these new SQL standard features in a way that was understandable and applicable for every colleague of ours, regardless of their programming language or the SQL database system they are currently using.
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.
The High-Performance SQL training is aimed to level up your team's SQL and database skills, covering the top most used database systems, such as Oracle, SQL Server, PostgreSQL, and MySQL.
Duration: 1h 45m
- Beyond SQL:92
- SQL Parsing
- SQL Operation Order
- Execution Plans
- UPSERT and MERGE
- EXISTS and NOT EXISTS
- IN and NOT IN
- ANY and ALL
- INSERT with subqueries
- Aggregation with subqueries
Duration: 1h 30m
- Analytics queries and window frame processing
- ROW_NUMBER, RANK, and DENSE_RANK
- FIRST_VALUE, LAST_VALUE, LEAD and LAG
- CUME_DIST and PERCENT_RANK
- PERCENTILE_DISC and PERCENTILE_CONT
- CROSS JOIN
- INNER and LEFT/RIGHT OUTER JOIN
- FULL OUTER JOIN
- NATURAL JOIN
- LATERAL JOIN and CROSS APPLY
- Best way to paginate result sets
- TOP-N queries
- OFFSET pagination
- Keyset Pagination
- Beyond SQL pagination
- CASE Expressions
- PostgreSQL FILTER Expressions
Duration: 1h 45m
- Schemaless and EAV data structures
- JSON functions, indexing, JSON to SQL transformation
Duration: 1h 15m
- Hierarchic queries
- Oracle CONNECT BY
- Recursive CTE and root-based aggregations
- Application vs database processing
Derived Tables and CTE
Duration: 1h 45m
- Derived Tables
- CTE (Common Table Expressions)
Duration: 2h 15m
- ACID, data anomalies, and isolation levels
- 2PL and MVCC
- Optimistic and Pessimistic Locking
- Batch processing with SKIP LOCKED
ABS Laundry Business Solutions
During the past two weeks, I attended the "High-Performance Java Persistence and SQL" training with @vlad_mihalcea. I had no idea the data access layer offers so many tuning possibilities. I can't wait to put into practice everything that I have learned!🤓— Andrei Roșu-Cojocaru (@arosucojocaru) July 16, 2021
Fit to your needs
There is no limit of students that can enroll in this training. If you have multiple teams that need to attend it, the cheaper it gets per person.
The full training spans 2 days, but it can be adapted to a 1-day workshop as well. We can arrange the agenda so that we cover exactly what you need.
All source code is in a GitHub repository which you set up during the training and later use it whenever you need.
Let me teach you how to run your data access layer at high speeds!
If you want to book an on-site training session, you should email me at firstname.lastname@example.org
and discuss it in more detail.