OK, so we're going to get pretty down-and-dirty in the C source code that handles concurrent inserts... you've been warned. For background on the MyISAM concurrent insert functionality, see my previous article. Before I get going, I'd like to give a big shout out and thank you to Ingo Strüwing and Sergei Golubchik, whose comments and insight on the MySQL internals mailing list helped me keep from exploding while digging through the source code. Ingo and Serg are great resources that any developer looking to better understand the MySQL sources should be grateful to have around.
The way I approached delving into the concurrent insert functionality was actually quite different from the way I looked at the overall MySQL server architecture in Pro MySQL. When writing the book, I relied heavily on the …
[Read more]