Musings on MySQL enhancements

by nivas on April 1, 2015

1) Update_time not accurate in information_schema.tables

Information_schema.tables has a field called update_time and in 5.6 you will notice that it is always NULL. Future versions of MySQL will fix this problem

2) Multiple instance manager

Currently creating , managing and dropping instances in MySQL requires many DBA hours. mysqld_multi is there to help you but it requires initial configuration and there are other third party utilities that could come to your rescue

It would be better to have built in utilities to help us in this regard.. For example db2 has db2icrt that creates an instance , db2ilist to list instances and db2idrop to drop an instance

3) Quiesce database in MySQL

There is no built in quiesce option to block all activity on the database/instance. Although method mentioned in  below URL will help you in doing manual quiesce , it would be ideal if mysql provides us quiesce feature

http://www.virtuallifestyle.nl/2013/03/back-up-mysql-on-linux-without-stopping-services-or-dumping-the-database/

4) Optimize ready tables

If you have 150 tables in your database and if you need to know the tables that would benefit from optimize it is not easy task in mysql. Why cant mysql provide a builtin utility that tells us more information at page level :  overflow records , data_free factor etc..

5) Optimizer shaky plans

Sometimes you will notice that queries will run slow all of a sudden. Innodb does random dives to collect the stats information and it can collect inaccurate information sometimes. For example you may notice that cardinality of a column changed to 10 from 200000 all of a sudden. This has been partially fixed with persistent stats feature but I think further improvements are needed in this area

Lets say you enable persistent stats , what will happen to volatile tables that change frequently

 

Comments on this entry are closed.

Previous post:

Next post: