Newsletters older than 6 months may have links that are out of date. Please use the Search to check for updated links.
Peter Gulutzan
In the previous newsletter we presented ideas how to research MySQL Internals by reading the documentation. Now in this article we will list a group of articles & other content that can be used to further study MySQL internals.
ARTICLES.
In the haystack of "Using MySQL with PHP" or "Introduction to MySQL Syntax" articles are a few needles. These are the ones that we know about that concentrate on "internals" and are available on the web, although some are merely PowerPoint slide presentations:
"A guided tour of the MySQL source code" by MySQL staff, http://www.mysql.com/get/Downloads/Presentations/MySQL-User-Conference-2003/A-Guided-Tour-Of-The-MySQL-Source-Code.pdf/from/pick (http://www.mysql.com/get/Downloads/Presentations/MySQL-User-Conference-2003/A-Guided-Tour-Of-The-MySQL-Source-Code.pdf/from/pick)
"The anatomy of the MySQL optimizer" by Igor Babaev, http://www.mysql.de/get/Downloads/Presentations/MySQL-User-Conference-2003/Anatomy-of-the-MySQL-Query-Optimizer.ppt/from/pick (http://www.mysql.de/get/Downloads/Presentations/MySQL-User-Conference-2003/Anatomy-of-the-MySQL-Query-Optimizer.ppt/from/pick)
"ACID transactions in MySQL with InnoDB" by Arjen Lentz, http://mysql.planetmirror.com/Downloads/Presentations/2003-07-12-LinuxTag-InnoDB.pdf
"How Logs Work On MySQL With InnoDB Tables" by Peter Gulutzan, http://www.devarticles.com/art/1/181
These four tuning/optimization articles may also be useful:
"Optimizing MySQL" by W.J.Gilmore, http://www.devshed.com/Server_Side/MySQL/Optimize
"MySQL Performance Tuning" by Jeremy Zawodny, http://www.linux-mag.com/2001-12/mysql_01.html
"Optimizing and tuning your MySQL database" by Julie Meloni, http://www.informit.com/isapi/product_id~{647B2C3B-EB68-4E3E-A54C-32DBAD38ADCE}/content/index.asp
"Optimizing MySQL: Queries and Indexes" by Ian Gilfillan, http://www.databasejournal.com/features/mysql/article.php/1382791
BOOKS.
Only one book with a "MySQL internals" discussion exists now, but others will appear soon.
MySQL Enterprise Applications by Sasha Pachev.
Described here: http://www.mysql.com/portal/books/item-76.html (http://www.mysql.com/portal/books/item-76.html)
To decide if it's for you, read this excerpt:
http://media.wiley.com/product_data/excerpt/20/04712692/0471269220.pdf
The chapter "Exploring MySQL Server Internals" is 40 pages long, and has these subsections: Getting Started, Tour of the Source, General Guidelines for Extending the Source, Maintaining Your Code Modifications.
High Performance MySQL by Jeremy Zawodny and Derek Balling. Described here: http://highperformancemysql.com/. The book is available for pre-order. That's all I'll say.
MySQL Professional Certification Study Guide by Paul DuBois, Stefan Hinz, and others. This title is tentative. It deals with some matters that can be called "MySQL internals".
DISCUSSION SITES.
MySQL has archives of its "internals" discussion list here: http://lists.mysql.com/list.php?list=internals. You'll have to skip through all the messages with "bk commit" in the subject line.Occasionally there are real gems in the long answers.
Other helpful sites are listed here: http://lists.mysql.com. The German discussion group http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&group=de.comp.datenbanken.mysql sometimes has good questions, but the best answers are usually the ones on the mysql.com site.
The discussion sites are the best place to go if you just want to ask a question about internals. Naturally there's no guarantee of a response, but many MySQL developers and experts receive all the messages on those sites.
You always have the option of hiring a MySQL employee for consulting work. But if you just want free and open resource material, there's lots of it out there, now that you know where to look.