a compromise between lock overhead and data safety
High Performance My SQL THIRD EDITION
A locking strategy is a compromise between lock overhead and data safety, and that
compromise affects performance. Most commercial database servers don’t give you
much choice: you get what is known as row-level locking in your tables, with a variety
of often complex ways to give good performance with many locks.