Couple of months ago there was a post by FreshBooks on getting great performance improvements by lowering table_cache variable. So I decided to investigate what is really happening here. The “common sense” approach to tuning caches is to get them as large as you can if you have enough resources (such as memory). With MySQL [...]
xtrabackup-0.9
Dear Community, The release 0.9 of the opensource backup tool for InnoDB and XtraDB is available for download. Changelog: tar4ibd could not treat over 8GB file, now max 64GB prepare-speed-hack is added Fixed bugs: Bug #386179: “InnoDB: Error: space id in fsp header 143088, but in the page header 0″ Bug #394374: “Can’t compile with [...]
How Percona does a MySQL Performance Audit
Our customers or prospective customers often ask us how we do a performance audit (it’s our most popular service). I thought I should write a blog post that will both answer their question, so I can just reply “read all about it at this URL” and share our methodology with readers a little bit. This [...]
Can you Trust CHECK TABLE ?
Take a look at this:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | mysql> repair table a3; +---------+--------+----------+----------+ | Table | Op | Msg_type | Msg_text | +---------+--------+----------+----------+ | test.a3 | repair | status | OK | +---------+--------+----------+----------+ 1 row in set (0.10 sec) mysql> select * from a3 order by i; +------------+ | i | +------------+ | 2147483648 | | 11 | | 13 | | 14 | | 2147483647 | +------------+ 5 rows in set (0.00 sec) |
The sort order is obviously wrong while CHECK TABLE is not reporting any error
Choosing innodb_buffer_pool_size
My last post about Innodb Performance Optimization got a lot of comments choosing proper innodb_buffer_pool_size and indeed I oversimplified things a bit too much, so let me write a bit better description. Innodb Buffer Pool is by far the most important option for Innodb Performance and it must be set correctly. I’ve seen a lot [...]
Hacking to make ALTER TABLE online for certain changes
Suppose you want to remove auto_increment from 100G table. No matter if it’s InnoDB or MyISAM, you’d usually ALTER TABLE huge_table CHANGE id id int(6) NOT NULL and then wait hours for table rebuild to complete. If you’re unlucky i.e. you have a lot of indexes and not too much RAM – you could end [...]
Add an option to Fail on Innodb Initialize failure, Please ?
I already wrote about this issue but as I is third team I’m helping customers to resolve this “frm corruption” issue it is the time to return to it again. During MySQL 5.0 release cycle the change was made so now MySQL does not stop if Innodb storage engine failed to initialize but starts properly… [...]

