MySQL Uncovered: Internals, Trace Analysis, and Performance
🌟 MySQL Uncovered: Internals, Trace Analysis, and Performance (60 Lessons)
Take a step-by-step journey to understand how MySQL works from the inside out, starting with simple queries and progressing to advanced internal mechanisms.
🎓 About the Course
This is an intermediate-level course designed for developers and anyone curious about MySQL internals. You’ll start with basic SQL queries and gradually explore:
- B+ trees and index structures
- Buffer pool and caching
- Transactions, MVCC, and redo and undo logs
- Isolation levels, locking, and durability
- Execution plans, join strategies, and performance analysis
- In-depth MySQL planner internals
- Deep analysis of MySQL storage engines
- High availability mechanisms in MySQL
- Architectural comparisons between MySQL and PostgreSQL
📚 Course Outline
1. Why MySQL Is More Than Just Data Storage
2. Inside MySQL: Unlocking Secrets with Trace Analysis
3. How a Simple SQL Query Is Executed Behind the Scenes
4. How Is MySQL Structured Internally?
5. Getting to Know Indexes: What They Are and Why They Matter
6. B+ Trees vs. Hash Indexes What Makes MySQL Choose the Tree
7. How MySQL Finds Rows in a B+ Tree: A Step-by-Step Example
8. Understanding B+ Tree Height and Its Performance Impact
9. Avoiding Table Lookups with Covering Indexes
10. The Buffer Pool Exposed: What Really Happens to Your Pages?
11. Inside MySQL Writes: From Buffer Pool to Disk
12. An Introduction to Redo Logs: Their Role and How They Work
13. Understanding Undo Logs: When and Why They're Used
14. What Is MVCC and How Does It Work in MySQL?
15. What Are Binlogs and What Are They Used For?
16. A Deep Yet Simple Look at Transactions
17. How MySQL Guarantees Atomic Transactions
18. What Consistency Means in Databases and How It's Enforced
19. MySQL Isolation Levels: A Practical Guide
20. Transaction Isolation: Is It Really Guaranteed?
21. How MySQL Makes Transactions Durable with Logging
22. What Are Checkpoints? How They Help with Durability and Performance
23. Locks in MySQL: An Easy Guide to Types and Use Cases
24. What Is a GAP Lock? Why Is It Confusing?
25. Inside MySQL's Planner: From Query to Logical Plan
26. Inside MySQL's Cost Model: How the Planner Thinks
27. How JOINs Work Internally in MySQL
28. Join Tree Structures in Query Optimization
29. How the MySQL Optimizer Enumerates Joins
30. How MySQL Reduces the Join Search Space
31. Understanding Join Graph Topology and Its Impact on Query Optimization
32. MySQL Aggregate Functions: Execution Models and Internal Algorithms
33. Parallel Query Execution: A Key to Faster Analytics
34. Why JOINs Often Outperform Correlated Subqueries
35. WITH Queries Demystified: How MySQL Executes CTEs
36. How Databases Execute Window Functions: A Deep Dive
37. Why MySQL Query Optimization Is So Challenging
38. Why MySQL Handles This JOIN So Slowly
39. Mastering Join Optimization in MySQL
40. What Really Happens When You Run an INSERT?
41. What Happens Internally During an UPDATE?
42. What Makes Hotspot Updates a Pain for Performance?
43. What Happens Internally During a DELETE?
44. Why Many Companies Discourage Using DELETE to Remove Data
45. Temporary Files in MySQL: When and Why They're Used
46. Big Transactions, Big Trouble: What You Should Know
47. Choosing Primary Keys: A Critical Choice for Performance and Design
48. What Causes MySQL to ‘Jitter’?
49. Pagination Optimization: Avoiding Performance Hits from Large Offsets
50. Partitioning in MySQL: Techniques, Benefits, and Pitfalls
51. Understanding How Stored Procedures Work
52. Inside MySQL: Understanding the Storage Engine Interface in Depth
53. MySQL Group Replication: Key Improvements Needed for Distributed Systems
54. MySQL vs PostgreSQL: A Comparative Analysis of Strengths and Weaknesses
55. MySQL vs PostgreSQL: Comparative Suitability for Distributed Architectures
56. Trace Analysis: Understanding Its Power and Limitations
56. Trace Analysis Case 1: Why MySQL Sometimes Avoids Hash Joins
58. Trace Analysis Case 2: Long Transaction Performance Issues Under RR Isolation Level
59. Trace Analysis Case 3: How MySQL Executes Complex Joins
60. Becoming a MySQL Expert: Roadmap to Rapid Growth
🔍 About the Author
The author has 10 years of experience with MySQL, including development experience. Before focusing on databases, he worked in server-side development and was the main contributor to the open-source project tcpcopy. He has authored:
- The Art of Problem-Solving in Software Engineering: How to Make MySQL Better
- Explore MySQL: A Beginner-Friendly Course
- MySQL Uncovered: Internals, Trace Analysis, and Performance (in progress)
- PostgreSQL Uncovered: Internals, Trace Analysis, and Performance
He has deep expertise in databases, networking, and server-side development.
📌 Important Notes
💬 If you’re unsure about purchasing the course, feel free to join our Discord community(https://discord.gg/2GGG2jkyGV) to ask questions and review the first few lessons.
🔧 Lesson titles may be slightly adjusted as the course evolves over time.
⚠️ This is a digital product with instant access upon purchase.
All sales are final and non-refundable.