Why I don't like MySQL

Thursday, February 09, 2006 by Michael H. Pryor

I have a sort of love/hate relationship with MySQL.  You can read some of my thoughts here which I posted on the forum back in September.  It turns out that a lot of our customers have problems where MySQL just randomly corrupts itself, not exactly the behavior you want from your RDBMS.  In addition, MySQL changed something in versions later than 4.1.14 which caused all the FogBugz code on Windows to stop working.  You can read more about that bug here.  This bug has effectively prevented all of our Windows users from using any recent version of MySQL and the bug has languished in the MySQL bug queue for months now even though it has been verified.

One of our problems with MySQL is that our installer on Windows didn't fully support it.  We offered options for Access and MSSQL, but to install MySQL required some manual steps.  The good news is that I sat down a few weeks ago and added full MySQL support to the installer.  I'm not sure when that will ship but it is pretty much ready to go. 

The biggest remaining problem is MySQL Bug #13776, which we have found a workaround for and will hopefully be including in the 5.0 beta.

The problems we can't fix are times when MySQL corrupts itself and UPDATE queries on the Bug table have no effect.  For example sometimes users will change the title of a case, we'll send that SQL to MySQL and MySQL will promptly ignore it.

mysql> SELECT sTitle FROM Bug where ixBug = 1;
sTitle = "Duck Duck Goose"
mysql> UPDATE Bug SET sTitle = 'You are it' where ixBug = 1;
1 row affected
mysql> SELECT sTitle FROM Bug where ixBug = 1;
sTitle = "Duck Duck Goose"

Running a REPAIR on the Bug table fixes this problem.  But it sure takes a long time to figure out that this issue is happening.

We've considered supporting PostgreSQL but I'm not convinced this doesn't open its own can of worms.  Of course MSSQL has its own share of bugs, as well as Access, but for some reason the problems with MySQL seem to be more severe and more problematic.  It's been said that using the InnoDB tables is less likely to cause problems, but of course the MyISAM format is the only one that supports full text indexing, thereby removing InnoDB as a candidate for our table types.

SQL Server is around $7500 per server.  For me, the price is worth it.

Discuss this article

Categories: FogBugz
Tags:
Actions: E-mail | Permalink