Vlad Mihalcea
vladmihalcea.bsky.social
Vlad Mihalcea
@vladmihalcea.bsky.social
@Java Champion working on Hypersistence Optimizer, author of High-Performance Java Persistence.

Blogging at http://vladmihalcea.com
Pinned
The best way to use the Spring Transactional annotation

vladmihalcea.com/spring-trans...
How does MVCC (Multi-Version Concurrency Control) work

vladmihalcea.com/how-does-mvc...
September 18, 2025 at 1:45 PM
💻 I'm now working on the demo and slides for my DevTalks presentation.

⚡ If you have never worked with Blaze Persistence from the amazing Christian Beikov, then prepare yourself to be amazed!
September 18, 2025 at 8:18 AM
How does the 2PL (Two-Phase Locking) algorithm work

vladmihalcea.com/2pl-two-phas...
September 18, 2025 at 7:30 AM
A beginner’s guide to ACID and database transactions

vladmihalcea.com/a-beginners-...
September 17, 2025 at 1:02 PM
🐘 With thousands of extensions available, PostgreSQL is like the WordPress of the database world.

gist.github.com/joelonsql/e5...
September 17, 2025 at 10:30 AM
The maximum number of database connections

vladmihalcea.com/maximum-data...
September 17, 2025 at 6:30 AM
A beginner’s guide to database deadlock

vladmihalcea.com/database-dea...
September 16, 2025 at 1:04 PM
Optimistic vs. Pessimistic Locking

vladmihalcea.com/optimistic-v...
September 16, 2025 at 7:00 AM
The race condition that led to Flexcoin bankruptcy

vladmihalcea.com/race-conditi...
September 15, 2025 at 1:45 PM
As a software engineer, it's very important to learn about Gall’s Law, which states that complex systems cannot be created successfully from scratch.

In reality, even large systems, such as Netflix, Google, or Facebook, have started small and built incrementally over the course of decades.
September 15, 2025 at 9:57 AM
How to index JSON columns using MySQL

vladmihalcea.com/index-json-c...
September 15, 2025 at 6:45 AM
A beginner’s guide to SQL injection and how you should prevent it

vladmihalcea.com/a-beginners-...
September 14, 2025 at 1:15 PM
How to get a JSON property value using PostgreSQL

vladmihalcea.com/json-propert...
September 14, 2025 at 7:05 AM
How to map a JSON object to a relational database table using MySQL JSON_TABLE

vladmihalcea.com/mysql-json-t...
September 12, 2025 at 1:03 PM
How to fetch multiple to-many relationships with jOOQ MULTISET

vladmihalcea.com/fetch-multip...
September 12, 2025 at 6:45 AM
SQL Seek Method or Keyset Pagination

vladmihalcea.com/sql-seek-key...
September 11, 2025 at 12:45 PM
MySQL rewriteBatchedStatements configuration property

vladmihalcea.com/mysql-rewrit...
September 11, 2025 at 7:01 AM
How to limit the SQL query result set to Top-N rows only

vladmihalcea.com/sql-query-li...
September 10, 2025 at 1:15 PM
PostgreSQL reWriteBatchedInserts configuration property

vladmihalcea.com/postgresql-m...
September 10, 2025 at 7:30 AM
Pagination best practices

vladmihalcea.com/pagination-b...
September 9, 2025 at 1:03 PM
AI is a great candidate for TED talks because:

- It started as an underdog, with everyone dismissing and making fun of it prior to 2023
- It has studied hard and keeps on learning new things daily
- It became successful and now has billions of customers

I see a great motivational speech here!
September 9, 2025 at 7:34 AM
Why you should set sendStringParametersAsUnicode to false with SQL Server

vladmihalcea.com/sql-server-j...
September 9, 2025 at 7:15 AM
Answer: Non-Repeatable Read vs Phantom Read

stackoverflow.com/a/51123574/1...
September 8, 2025 at 3:23 PM
SQL Server useBulkCopyForBatchInsert configuration property

vladmihalcea.com/sql-server-u...
September 8, 2025 at 12:30 PM
How does a Clustered Index work

vladmihalcea.com/clustered-in...
September 8, 2025 at 7:00 AM