Why does the MySQL optimizer not do what I think it should?
In May, I presented two talks – one called “Are you getting the best out of your indexes?” and “Optimizing Queries Using EXPLAIN”. I now have slides and video for both of them. The first talk about...
View ArticleQuery Reviews (part 2): pt-query-digest
Query reviews (part 1): Overview The 1st post in the series gave an overview of what a query review is and the value they can bring you. So now let’s talk about how one is done, specifically, how to do...
View ArticleCost/Benefit Analysis of a MySQL Index
We all know that if we add a MySQL index to speed up a read, we end up making writes slower. How often do we do the analysis to look at how much more work is done? Recently, a developer came to me and...
View ArticleMySQL Marinate – So you want to learn MySQL! – START HERE
Want to learn or refresh yourself on MySQL? MySQL Marinate is the FREE virtual self-study group is for you! MySQL Marinate quick links if you know what it is all about. This is for beginners – If you...
View ArticleLesson 06: Working with Database Structures
Notes/errata/updates for Chapter 6: See the official book errata at http://tahaghoghi.com/LearningMySQL/errata.php – Chapter 6 includes pages 179 – 222. Other notes: At the end of the “Creating Tables”...
View ArticleLesson 07: Advanced MySQL Querying
Notes/errata/updates for Chapter 7: See the official book errata at http://tahaghoghi.com/LearningMySQL/errata.php – Chapter 7 includes pages 223 – 275. Supplemental blog post – ORDER BY NULL – read...
View ArticleMySQL 5.7 InnoDB Temporary Tablespace – but why?
So, recently we had a runaway query eat up all sorts of temporary table space on our machines. Several machines had several terabytes in their ibtmp1 file after this happened. So I set out to find out...
View ArticleLesson 09: Managing Users and Privileges in MySQL
Notes/errata/updates for Chapter 9: See the official book errata at http://tahaghoghi.com/LearningMySQL/errata.php – Chapter 9 includes pages 297 – 350. In the fourth paragraph of this chapter,...
View ArticleLDAP with auth_pam and Python to authenticate against MySQL
If that title looks familiar, it is because a few months ago I posted about LDAP with auth_pam and PHP to authenticate against MySQL. The good news is that recompiling the connector for Python is a lot...
View ArticleThe One Where I Scream Into the Cloud
Did you know DBAs could have personalities? Which is more exhausting – being oncall, or having a newborn? What does a Product Manager of Technical Lineage for ETL Tools do? How many times do I say...
View Article