August 29, 2014

Opening Tables scalability

I was restarting MySQL on box with 50.000 of Innodb tables and again it took couple of hours to reach decent performance because of “Opening Tables” stage was taking long. Part of the problem is Innodb is updating stats on each table open which is possibly expensive operation, but really it is only great test […]

Feature Idea: Finding columns which query needs to access

In query examinations it is often interesting which columns query needs to access to provide result set as it gives you ideas if you can use covering indexes to speed things up or even cache some data by denormalizing tables. So far it has to be done manually – look at SELECT clause, WHERE clause, […]

Rebuilding MySQL Binary

Running RPM based or other packaged MySQL Binary you may have a problem if you would like to rebuild binary for some reason – change some build settings, apply some third party patches or simply try latest snapshot (This time I was both applying patches for Innodb scalability and Vadim’s patches to get proper slow […]

Bug fix of InnoDB scalability problem

I was pretty busy last month with project which will be annonced very soon (I hope), but I can’t miss bug fix of my favorite bug 15815. I wrote about this problem before and also investigated in my presentation. Finally bug fix was pushed into 5.0-bk tree and now I have it in my hands. […]

Trying Archive Storage Engine

Today I noticed one of server used for web request profiling stats logging is taking about 2GB per day for logs, which are written in MyISAM table without indexes. So I thought it is great to try how much archive storage engine could help me in this case.

Are PHP persistent connections evil ?

As you probably know PHP “mysql” extension supported persistent connections but they were disabled in new “mysqli” extension, which is probably one of the reasons some people delay migration to this extension. The reason behind using persistent connections is of course reducing number of connects which are rather expensive, even though they are much faster […]

When EXPLAIN can be misleading

One think I can see with people using EXPLAIN is trusting it too much, ie assuming if number of rows is reported by EXPLAIN is large query must be inefficient. It may not be the case. The question is not only about stats which may be wrong and which is why you may want to […]

Undo area size restriction needed for Innodb

As you can read from my Innodb Architecture and Performance Optimization presentation Innodb automatically manages undo area in system tablespace so you never need to care about it. I present it as positive feature reducing administration effort needed but it also can cause a troubles as it happened for me today: InnoDB: 11 transaction(s) which […]

Back from OpenSource Database Conference

I’m just back from OpenSource Database Conference and PHP International Conference which took place in Frankfurt. I’ve uploaded slides for two talks I’ve been giving which you might want to check out. In general Database portion of the conference was a bit boring. May be because it was not widely announced or may be for […]

Using Sphinx as MySQL data retrieval accelerator

I’ve run into the following thread couple of days ago: Basically someone is using sphinx to perform search simply on attributes (date, group etc) and get sorted result set and claiming it is way faster than getting it with MySQL. Honestly I can well believe it for cases when you want to know number of […]