Sign in

Vlad Mihalcea

@vladmihalcea.bsky.social
616 followers 44 following 603 posts

@Java Champion working on Hypersistence Optimizer, author of High-Performance Java Persistence. Blogging at vladmihalcea.com

PostsRepliesMedia
Reposted by Vlad Mihalcea
SQLDaily @sqldaily.bsky.social · 21/07/2026
SELECT ... FOR UPDATE statements lock the rows you're querying If another process has these locked it must wait To get an instant error instead, use: SELECT ... FOR UPDATE NOWAIT @vladmihalcea.bsky.social shows how do this with JPA and Hibernate
buff.ly
The best way to use SQL NOWAIT - Vlad Mihalcea
Learn what is the best way to use the amazing SQL NOWAIT feature that allows us to avoid blocking when acquiring a row-level lock.
031
Reposted by Vlad Mihalcea
SQLDaily @sqldaily.bsky.social · 30/09/2026
Primary keys have the these properties: UNIQUE NOT NULL IMMUTABLE You can define them using Natural keys => external unique identifiers Surrogate keys => generated values @vladmihalcea.bsky.social discusses the pros and cons of each buff.ly/USEnDa0 What's your take?
buff.ly
A beginner's guide to natural and surrogate database keys - Vlad Mihalcea
Types of primary keys All database tables must have one primary key column. The primary key uniquely identifies a row within a table therefore it’s bound by the following constraints: UNIQUE NOT NULL…
032
Reposted by Vlad Mihalcea
SQLDaily @sqldaily.bsky.social · 07/01/2026
Want to find the value at the nth percentile with #SQL? Use PERCENTILE_CONT ( n ) WITHIN GROUP( ORDER BY close_price ) n is between 0 and 1, so 0.5 => median 0.75 => 75th percentile 0.99 => 99th percentile @vladmihalcea.bsky.social demos
buff.ly
How to calculate percentiles with SQL PERCENTILE_CONT - Vlad Mihalcea
Learn how to calculate percentiles with the SQL PERCENTILE_CONT function on PostgreSQL, MySQL, Oracle, or SQL Server.
051
Vlad Mihalcea @vladmihalcea.bsky.social · 18/09/2025
How does MVCC (Multi-Version Concurrency Control) work vladmihalcea.com/how-does-mvc...
000
Vlad Mihalcea @vladmihalcea.bsky.social · 18/09/2025
💻 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!
020
Vlad Mihalcea @vladmihalcea.bsky.social · 18/09/2025
How does the 2PL (Two-Phase Locking) algorithm work vladmihalcea.com/2pl-two-phas...
020
Vlad Mihalcea @vladmihalcea.bsky.social · 17/09/2025
A beginner’s guide to ACID and database transactions vladmihalcea.com/a-beginners-...
020
Vlad Mihalcea @vladmihalcea.bsky.social · 17/09/2025
🐘 With thousands of extensions available, PostgreSQL is like the WordPress of the database world. gist.github.com/joelonsql/e5...
010
Vlad Mihalcea @vladmihalcea.bsky.social · 17/09/2025
The maximum number of database connections vladmihalcea.com/maximum-data...
000
Vlad Mihalcea @vladmihalcea.bsky.social · 16/09/2025
A beginner’s guide to database deadlock vladmihalcea.com/database-dea...
000
Vlad Mihalcea @vladmihalcea.bsky.social · 16/09/2025
Optimistic vs. Pessimistic Locking vladmihalcea.com/optimistic-v...
010
Vlad Mihalcea @vladmihalcea.bsky.social · 15/09/2025
The race condition that led to Flexcoin bankruptcy vladmihalcea.com/race-conditi...
130
Vlad Mihalcea @vladmihalcea.bsky.social · 15/09/2025
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.
050
Vlad Mihalcea @vladmihalcea.bsky.social · 15/09/2025
How to index JSON columns using MySQL vladmihalcea.com/index-json-c...
000
Vlad Mihalcea @vladmihalcea.bsky.social · 14/09/2025
A beginner’s guide to SQL injection and how you should prevent it vladmihalcea.com/a-beginners-...
000
Vlad Mihalcea @vladmihalcea.bsky.social · 14/09/2025
How to get a JSON property value using PostgreSQL vladmihalcea.com/json-propert...
020
Vlad Mihalcea @vladmihalcea.bsky.social · 12/09/2025
How to map a JSON object to a relational database table using MySQL JSON_TABLE vladmihalcea.com/mysql-json-t...
010
Vlad Mihalcea @vladmihalcea.bsky.social · 12/09/2025
How to fetch multiple to-many relationships with jOOQ MULTISET vladmihalcea.com/fetch-multip...
042
Vlad Mihalcea @vladmihalcea.bsky.social · 11/09/2025
SQL Seek Method or Keyset Pagination vladmihalcea.com/sql-seek-key...
021
Vlad Mihalcea @vladmihalcea.bsky.social · 11/09/2025
MySQL rewriteBatchedStatements configuration property vladmihalcea.com/mysql-rewrit...
000
Vlad Mihalcea @vladmihalcea.bsky.social · 10/09/2025
How to limit the SQL query result set to Top-N rows only vladmihalcea.com/sql-query-li...
010
Vlad Mihalcea @vladmihalcea.bsky.social · 10/09/2025
PostgreSQL reWriteBatchedInserts configuration property vladmihalcea.com/postgresql-m...
000
Vlad Mihalcea @vladmihalcea.bsky.social · 09/09/2025
Pagination best practices vladmihalcea.com/pagination-b...
010
Vlad Mihalcea @vladmihalcea.bsky.social · 09/09/2025
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!
000
Vlad Mihalcea @vladmihalcea.bsky.social · 09/09/2025
Why you should set sendStringParametersAsUnicode to false with SQL Server vladmihalcea.com/sql-server-j...
000
Vlad Mihalcea @vladmihalcea.bsky.social · 08/09/2025
Answer: Non-Repeatable Read vs Phantom Read stackoverflow.com/a/51123574/1...
010
Vlad Mihalcea @vladmihalcea.bsky.social · 08/09/2025
SQL Server useBulkCopyForBatchInsert configuration property vladmihalcea.com/sql-server-u...
000
Vlad Mihalcea @vladmihalcea.bsky.social · 08/09/2025
How does a Clustered Index work vladmihalcea.com/clustered-in...
010
Vlad Mihalcea @vladmihalcea.bsky.social · 07/09/2025
Software development is non-deterministic, whether with humans or AI. Integration tests are the ones that make your application deterministic.
040
Vlad Mihalcea @vladmihalcea.bsky.social · 05/09/2025
PostgreSQL Heap-Only-Tuple or HOT Update Optimization vladmihalcea.com/postgresql-h...
000
Vlad Mihalcea @vladmihalcea.bsky.social · 04/09/2025
A beginner's guide to PostgreSQL Index Types vladmihalcea.com/postgresql-i...
010
Vlad Mihalcea @vladmihalcea.bsky.social · 04/09/2025
While running Hupersistence, I always wondered why clients were thanking me for answering their emails so fast, and after a short stint in the corporate world, I finally understood what they meant. 😀
020
Vlad Mihalcea @vladmihalcea.bsky.social · 04/09/2025
How do UPSERT and MERGE work in Oracle, SQL Server, PostgreSQL and MySQL vladmihalcea.com/how-do-upser...
010
Vlad Mihalcea @vladmihalcea.bsky.social · 03/09/2025
A beginner's guide to database Index Selectivity vladmihalcea.com/index-select...
000
Vlad Mihalcea @vladmihalcea.bsky.social · 03/09/2025
Optimistic vs. Pessimistic Locking vladmihalcea.com/optimistic-v...
010
Vlad Mihalcea @vladmihalcea.bsky.social · 03/09/2025
Why you should definitely learn SQL Window Functions vladmihalcea.com/why-you-shou...
000
Vlad Mihalcea @vladmihalcea.bsky.social · 02/09/2025
Default Database Primary, Foreign, and Unique Key Indexing vladmihalcea.com/default-data...
010
Vlad Mihalcea @vladmihalcea.bsky.social · 02/09/2025
I post all sorts of stuff on social media. Technical posts, like deep-dive articles, barely get 2000-3000 impressions. Silly posts like this one can easily go to 70k-100k impressions.
030
Vlad Mihalcea @vladmihalcea.bsky.social · 02/09/2025
A Beginner's Guide to SQL Recursive WITH CTE queries vladmihalcea.com/sql-recursiv...
010
Vlad Mihalcea @vladmihalcea.bsky.social · 01/09/2025
A Beginner's Guide to PostgreSQL Auto Explain vladmihalcea.com/postgresql-a...
010
Vlad Mihalcea @vladmihalcea.bsky.social · 01/09/2025
If you're using PostgreSQL and want to learn how to get the best out of it, then you should definitely read Just Use PostgreSQL! by Denis Magda. I'm now reading it and learning a lot of stuff! www.manning.com/books/just-u...
051
Vlad Mihalcea @vladmihalcea.bsky.social · 01/09/2025
A Beginner's Guide to SQL CTE – Common Table Expression vladmihalcea.com/sql-cte-comm...
020
Vlad Mihalcea @vladmihalcea.bsky.social · 31/08/2025
SQL Derived Table or Inline View vladmihalcea.com/sql-derived-...
000
Vlad Mihalcea @vladmihalcea.bsky.social · 31/08/2025
A Beginner's Guide to the SQL EXISTS and NOT EXISTS vladmihalcea.com/sql-exists/
000
Vlad Mihalcea @vladmihalcea.bsky.social · 30/08/2025
📢 On the 25th of September, I'm going to give a talk at #DevTalks in Cluj-Napoca. 🍃 If you're using Spring Data JPA and want to learn how to get the best out of it, then you're going to love this presentation. www.devtalks.ro/cluj#agenda
040
Vlad Mihalcea @vladmihalcea.bsky.social · 29/08/2025
Merge Join Algorithm vladmihalcea.com/merge-join-a...
010
Vlad Mihalcea @vladmihalcea.bsky.social · 29/08/2025
Hash Join Algorithm vladmihalcea.com/hash-join-al...
010
Vlad Mihalcea @vladmihalcea.bsky.social · 28/08/2025
Nested Loop Join Algorithm vladmihalcea.com/nested-loop-...
010
Vlad Mihalcea @vladmihalcea.bsky.social · 28/08/2025
A Beginner’s Guide to SQL LEFT JOIN vladmihalcea.com/sql-left-join/
000
Vlad Mihalcea @vladmihalcea.bsky.social · 27/08/2025
A Beginner’s Guide to SQL CROSS APPLY vladmihalcea.com/sql-cross-ap...
010