Detecting invalid and zero temporal values
Wed, 26 May 2010 23:48:31 +0000
I’ve been thinking a lot about invalid and zero temporal values and how to detect them with MySQL date and time functions because mk-table-checksum has to handle “everything” correctly and efficiently. The requirements are complex because we have to take into account what MySQL allows to be stored verses what it allows to be [...]
Down the rabbit hole
Tue, 25 May 2010 22:28:43 +0000
Generally I avoid going down rabbit holes but today I decided to see how deep a particular testing rabbit hole went. This post is a third in what seems be a continuing series of programming anecdotes. It’s not particularly MySQL-related so you can stop reading here unless you grok code stuff.
Before beginning work [...]
Hack MySQL tools retired, succeeded
Sun, 23 May 2010 18:45:46 +0000
I’m surprised, and flattered, to see that people still use, write and recommend mysqlsla, mysqlreport and–most surprisingly–mysqlsniffer. In truth, however, I consider all the original Hack MySQL tools as retired. Maatkit consumes the majority of my development time and provides better replacements for all the Hack MySQL tools. The mk tools are [...]
Book review: Optimizing Oracle Peformance
Wed, 06 Jan 2010 17:52:44 +0000
Optimizing Oracle Performance by Cary Millsap and Jeff Holt uses Oracle to make its points, but these points apply also to MySQL. The primary lesson I took away from this book is: all else aside, optimize/fix the user-action that provides the most economic benefit to the company; do this by [...]
Debugging and ripple effects
Wed, 18 Nov 2009 22:58:01 +0000
Like I said earlier, every tiny change that the test suite reveals after code changes is significant. I caught a very subtle “bug” today in recent changes to mk-query-digest (a.k.a. mqd). If you like to read about subtle bugs, read on.
An mqd test on sample file slow023.txt began to differ after some pretty [...]
In the MySQL ecosystem there is a rich jungle of tools. I stalk and observe these tools' development,
having created some myself, developing others full-time, and simply being aware of others.
I maintain a list of MySQL Tools with information about the project,
code, documentation and other aspects.
I write more code than docs now. I wrote these docs several years ago when I focused more on query optimization.
Indexing Basic MySQL Queries
Table Design and MySQL Index Details
MySQL ORDER BY With LIMIT and ANALYZE
How To Index For MySQL Joins
How To Look At MySQL Joins and More ORDER BY With LIMIT
Non-technical Guide to Isolating Slow MySQL Queries
COM_QUIT and Questions
DNS Details
Select and Sort Status Variables
JOIN Rows Produced vs. Rows Read
Microsecond Support for MySQL Slow Logs
MySQL Features Timeline