Book Review – SQL Antipatterns
Are you struggling with performance issues in your Spring, Jakarta EE, or Java EE application?
What if there were a tool that could automatically detect what caused performance issues in your JPA and Hibernate data access layer?
Wouldn’t it be awesome to have such a tool to watch your application and prevent performance issues during development, long before they affect production systems?
Well, Hypersistence Optimizer is that tool! And it works with Spring Boot, Spring Framework, Jakarta EE, Java EE, Quarkus, Micronaut, or Play Framework.
So, rather than fixing performance issues in your production system on a Saturday night, you are better off using Hypersistence Optimizer to help you prevent those issues so that you can spend your time on the things that you love!
Introduction
I’ve just finished the wonderful SQL Antipatterns book by Bill Karwin. The book is a must-have reference for any developer that has to interact with a relational database system.
As a #Hibernate Developer Advocate, I want to sharpen my #SQL skills pic.twitter.com/1bAmzzb4Cg
— Vlad Mihalcea (@vlad_mihalcea) December 22, 2016
This post is a review of what this book is all about and why you should be interested in reading it.
Author
Bill Karwin is a distinguished software engineer, having a huge reputation on StackOverflow with gold badges for MySQL, SQL, Database or Database Design.
As I previously explained, contributing to StackOverflow is a great way to become an expert on various programming-related topics, and Bill Karwin is definitely an expert in this field.
Audience
If you are a backend developer, a team leader or a software architect, this book is definitely for you. Especially if you are a junior developer, this book is going to unravel a lot of anti-patterns which are unfortunately way too common in enterprise systems.
Content
The book covers 25 anti-patterns which are grouped into four categories:
- Logical database design anti-patterns
- Physical database design anti-patterns
- Query anti-patterns
- Application development anti-patterns
While I’ve bumped into some of these anti-patterns while developing enterprise systems, I really liked the way they were explained, and especially that we get to see a proper solution to the original problem.
Why you should buy it?
The book is very easy to read, that’s why I think it’s very relevant for junior developers as well.
Designing a database schema is not a trivial task, and it’s much cheaper to take as many good decisions as possible from the very beginning.
After reading SQL Antipatterns, you will be better prepared for designing a relational database system and the data access layer that’s needed for reading and writing to the database server.
All in all, I’m glad I read this book, and I wished I have known all these tricks back when I was a junior developer myself.


