Fastest MS SQL Inserts — Part 8: TVP, JDBC, Final Ranking
Executive Summary This series benchmarks 110+ insert strategies and tuning knobs on SQL Server 2025 Express (Windows, Java 17, Spring Boot 3.3) over 4,222 …

Executive Summary This series benchmarks 110+ insert strategies and tuning knobs on SQL Server 2025 Express (Windows, Java 17, Spring Boot 3.3) over 4,222 …
Every production table has indexes. Every INSERT has to maintain them. Add 5 non-clustered indexes to a table and the Bulk API — the fastest single-thread …
Every strategy we've tested so far — Hibernate, JDBC, Bulk API — pushes data through a single connection. SQL Server handles concurrent writes just fine; the …
In Part 1 we watched Spring Data's saveAll() take 7x longer than batched persist() because every entity triggers a SELECT before its INSERT. In Part 2 we …
Your Car class has twelve methods now. Washing, waxing, polishing, billing — everything that ever needed the car's fields got bolted onto it. Nobody remembers …
New Java, SQL Server & testing posts — straight to your inbox.
" ".isEmpty() returns false, but " ".isBlank() returns true — whitespace counts as blank, not empty.
1" ".isEmpty(); // false — length is 1
2" ".isBlank(); // true — whitespace only (Java 11+)
3"abc".isBlank(); // false
I caught myself writing s.trim().isEmpty() again today. String.isBlank() exists since Java 11 and covers exactly this case — plus it is Unicode-aware, so " \u00A0 ".isBlank() also works where trim() misses non-breaking spaces.