Imagine having a tool that can automatically detect if you are using JPA and Hibernate properly. Hypersistence Optimizer is that tool!
While doing my High-Performance Java Persistence training, I realized that many Java developers lag behind when it comes to SQL skills.
For way too many application developers, SQL equates that SQL-92 they learned in college. However, SQL has seen many additions over the past 25 years.
Even if the NoSQL movement stormed onto the development scene 10 years ago, it never got to overthrown relational database systems.
In fact, the latest trend is called NewSQL, and it embraces both SQL and ACID guarantees.
In these tutorials, we are going to see what present-day SQL looks like and learn new SQL tricks that even the DBAs will be impressed.
- How does a relational database execute SQL statements and prepared statements
- Single-Primary Database Replication
- Time to break free from the SQL-92 mindset
- A beginner’s guide to database table relationships
- A beginner’s guide to natural and surrogate database keys
- MySQL 8 support for custom SQL CHECK constraints simplifies SINGLE_TABLE inheritance data integrity validation rules
- MariaDB 10.3 supports database sequences
- SQL EXISTS and NOT EXISTS
- How to query parent rows when all children must match the filtering criteria using SQL
- How to get the SQL execution plan on Oracle
- How to get the query execution plan on SQL Server
- How to get the actual execution plan for an Oracle SQL query using Hibernate query hints
Transactions and Concurrency control
- A beginner’s guide to ACID and database transactions
- A beginner’s guide to database deadlock
- How does the 2PL (Two-Phase Locking) algorithm work
- How does MVCC (Multi-Version Concurrency Control) work
- How to get the current database transaction id
- How do PostgreSQL advisory locks work
- How to implement a database job queue using SKIP LOCKED
- A beginner’s guide to database locking and the lost update phenomena
- How to prevent lost updates in long conversations
- A beginner’s guide to Dirty Read anomaly
- A beginner’s guide to Non-Repeatable Read anomaly
- A beginner’s guide to Phantom Read anomaly
- A beginner’s guide to Read and Write Skew phenomena
- A beginner’s guide to the Write Skew anomaly, and how it differs between 2PL and MVCC
- How does database pessimistic locking interact with INSERT, UPDATE, and DELETE SQL statements
- How do UPSERT and MERGE work in Oracle, SQL Server, PostgreSQL, and MySQL
- Logical vs physical clock optimistic locking
- PostgreSQL trigger consistency check
- PostgreSQL triggers and isolation levels
- The best way to call a stored procedure with JPA and Hibernate
- How to call Oracle stored procedures and functions with JPA and Hibernate
- How to call SQL Server stored procedures and functions with JPA and Hibernate
- How to call PostgreSQL functions (stored procedures) with JPA and Hibernate
- How to call MySQL stored procedures and functions with JPA and Hibernate
- How to run database integration tests 20 times faster
- How to run integration tests at warp-speed using Docker and tmpfs