May 26, 2012

Funniest bug ever

Recently my attention was brought to this bug which is a nightmare bug for any consultant. Working with production systems we assume reads are reads and if we’re just reading we can’t break anything. OK may be we can crash the server with some select query which runs into some bug but not cause the [...]

What Bugs makes you to recomend upgrade most frequently ?

What bug makes you to recommend upgrading most frequently ? For me it is this bug which makes it quite painful to automate various replication tasks. It is not the most critical bug by far but this makes it worse – critical bugs would usually cause upgrades already or were worked around while such stuff [...]

AUTO_INCREMENT and MERGE TABLES

How would you expect AUTO_INCREMENT to work with MERGE tables ? Assuming INSERT_METHOD=LAST is used I would expect it to work same as in case insertion happens to the last table… which does not seems to be the case. Alternatively I would expect AUTO_INCREMENT to be based off the maximum value across all tables, respecting [...]

How quickly you should expect to see bugs fixed

Over a year ago I wrote about pretty nasty Innodb Recovery Bug. I ran in the same situation again (different system, different customer) and went to see the status of the bug… and it is still open. You may thing it is minor issue but in fact with large buffer pool this bug makes database [...]

Beware of running ANALYZE in Production

As you might know ANALYZE TABLE just quickly updates table statistics using index dives, unlike with MyISAM when it scans indexes holding table lock for long period of time. So ANALYZE TABLE should be very fast and non intrusive operation doing just little update on the data. Right ?

How adding another table to JOIN can improve performance ?

JOINs are expensive and it most typical the fewer tables (for the same database) you join the better performance you will get. As for any rules there are however exceptions The one I’m speaking about comes from the issue with MySQL optimizer stopping using further index key parts as soon as there is a range [...]

MySQL 5.1 is to reach GA state – all to arms !

MySQL 5.1 was in RC stage for around 10 months now finally planned to be released as GA soon. As Monty Says MySQL 5.1.26 will be renamed as GA if no serious bugs are discovered. Lets help MySQL to ensure GA release will be indeed GA quality and support Monty in his call to ensure [...]

Dangerous command

Remembering that I did RENAME DATABASE in MySQL 5.1.21 and found it useful I tried it with 5.1.24 (I was playing with 20GB InnoDB database, so dumping is not fastest way) and all my tries finished with “Syntax error”. So RTMF and documentation says “This statement was added in MySQL 5.1.7 but was found to [...]

Multi-Column IN clause – Unexpected MySQL Issue

We have an application which stores massive amount of urls. To save on indexes instead of using URL we index CRC32 of the URL which allows to find matching urls quickly. There is a bit of chance there would be some false positives but these are filtered out after reading the data so it works [...]

MySQL Error Message Nonsenses

What MySQL honestly was never good at is giving good helpful error messages. Start with basics for example – The error message in case of syntax error gives you information about tokens near by but little details: mysql> select * from user oder by pwd; ERROR 1064 (42000): You have an error in your SQL [...]