MySQL Concurrency: Locking and Transactions for MySQL Developers and DBAs

MySQL Concurrency: Locking and Transactions for MySQL Developers and DBAs

by Jesper Wisborg Krogh
MySQL Concurrency: Locking and Transactions for MySQL Developers and DBAs

MySQL Concurrency: Locking and Transactions for MySQL Developers and DBAs

by Jesper Wisborg Krogh

Paperback(1st ed.)

    Qualifies for Free Shipping
    Check Availability at Nearby Stores

Related collections and offers


Know how locks work in MySQL and how they relate to transactions. This book explains the major role that locks play in database systems, showing how locks are essential in allowing high-concurrency workloads. You will learn about lock access levels and lock granularities from the user level as well as table locks to record and gap locks. Most importantly, the book covers troubleshooting techniques when locking becomes a pain point.

Several of the lock types in MySQL have a duration of a transaction. For this reason, it is important to understand how transactions work. This book covers the basics of transactions as well as transaction isolation levels and how they affect locking. The book is meant to be your go-to resource for solving locking contention and similar problems in high-performance MySQL database applications.

Detecting locking issues when they occur is the first key to resolving such issues. MySQL Concurrency provides techniques for detecting locking issues such as contention. The book shows how to analyze locks that are causing contention to see why those locks are in place. A collection of six comprehensive case studies combine locking and transactional theory with realistic lock conflicts. The case studies walk you through the symptoms to look for in order to identify which issue you are facing, the cause of the conflict, its analysis, solution, and how to prevent the issue in the future.

What You Will Learn

• Understand which lock types exist in MySQL and how they are used
• Choose the best transaction isolation level for a given transaction
• Detect and analyze lock contention when it occurs
• Reduce locking issues in your applications
• Resolve deadlocks between transactions
• Resolve InnoDB record-level locking issues
• Resolve issues from metadata and schema locks

Who This Book Is For

Database administrators and SQL developers who are familiar with MySQL and want to gain a better understanding of locking and transactions as well as how to work with them. While some experience with MySQL is required, no prior knowledge of locks and transactions is needed.

Product Details

ISBN-13: 9781484266519
Publisher: Apress
Publication date: 01/23/2021
Edition description: 1st ed.
Pages: 376
Product dimensions: 7.01(w) x 10.00(h) x (d)

About the Author

Jesper Wisborg Krogh has worked with MySQL databases since 2006 both as a SQL developer and a database administrator, and for more than eight years as part of the Oracle MySQL Support team. He currently works as a database reliability engineer for Okta. He has spoken at MySQL Connect and Oracle OpenWorld on several occasions. In addition to his books, Jesper regularly blogs on MySQL topics and has authored approximately 800 documents in the Oracle Knowledge Base. He has contributed to the sys schema and four Oracle Certified Professional (OCP) exams for MySQL 5.6–8. Jesper holds a PhD in computational chemistry, lives in Sydney, Australia, and enjoys spending time outdoors walking, traveling, and reading. His areas of expertise include MySQL Cluster, MySQL Enterprise Backup (MEB), performance tuning, and the performance and sys schemas.

Table of Contents

1. Introduction
2. Monitoring Locks and Mutexes
3. Monitoring InnoDB Transactions
4. Transactions in the Performance Schema
5. Lock Access Levels
6. High-Level Lock Types
7. InnoDB Locks
8. Working with Lock Conflicts
9. Reducing Locking Issues
10. Indexes and Foreign Keys
11. Transactions
12. Transaction Isolation Levels
13. Case Study: Flush Locks
14. Case Study: Metadata and Schema Locks
15. Case Study: Record-Level Locks
16. Case Study: Deadlocks
17. Case Study: Foreign Keys

18. Case Study: Semaphores
Appendix A. References
Appendix B. MySQL Shell Module
From the B&N Reads Blog

Customer Reviews