Buy Percona ServicesBuy Now!

More on dangers of the caches

 | September 23, 2010 |  Posted In: Insight for Developers, MySQL

I wrote couple of weeks ago on dangers of bad cache design. Today I’ve been troubleshooting the production down case which had fair amount of issues related to how cache was used. The deal was as following. The update to the codebase was performed and it caused performance issues, so it was rolled back but […]

Read More

UDF -vs- MySQL Stored Function

 | September 6, 2010 |  Posted In: MySQL

Few days ago I was working on a case where we needed to modify a lot of data before pushing it to sphinx – MySQL did not have a function to do the thing so I thought I’ll write MySQL Stored Function and we’ll be good to go. It worked! But not so well really […]

Read More

A workaround for the performance problems of TEMPTABLE views

 | May 19, 2010 |  Posted In: Insight for Developers, MySQL

MySQL supports two different algorithms for views: the MERGE algorithm and the TEMPTABLE algorithm. These two algorithms differ greatly. A view which uses the MERGE algorithm can merge filter conditions into the view query itself. This has significant performance advantages over TEMPTABLE views. A view which uses the TEMPTABLE algorithm will have to compute the […]

Read More

Joining on range? Wrong!

 | May 17, 2010 |  Posted In: Insight for Developers, MySQL

The problem I am going to describe is likely to be around since the very beginning of MySQL, however unless you carefully analyse and profile your queries, it might easily go unnoticed. I used it as one of the examples in our talk given at conference last week to demonstrate some pitfalls one may […]

Read More

Performance improvements in Percona 5.0.83 and XtraDB

 | July 14, 2009 |  Posted In: Benchmarks

There was small delay in our releases, part of this time we worked on features I mentioned before: – Moving InnoDB tables between servers – Improve InnoDB recovery time and rest time we played with performance trying to align XtraDB performance with MySQL 5.4 ® and also port all performance fixes to 5.0 tree. So […]

Read More


 | June 18, 2009 |  Posted In: Events and Announcements

Today marks the official launch of We’ll be uploading technical screencasts, conference video, and anything else cool we can think up. If you’ve got ideas or requests, let us know and we’ll do our best to accommodate!

Read More

Enum Fields VS Varchar VS Int + Joined table: What is Faster?

 | January 24, 2008 |  Posted In: Benchmarks

Really often in customers’ application we can see a huge tables with varchar/char fields, with small sets of possible values. These are “state”, “gender”, “status”, “weapon_type”, etc, etc. Frequently we suggest to change such fields to use ENUM column type, but is it really necessary (from performance standpoint)? In this post I’d like to present […]

Read More

Mess with innodb_thread_concurrency

 | May 12, 2006 |  Posted In: Insight for DBAs

In MySQL 5.0.19 the meaning of innodb_thread_concurrency variable was changed (yeah, again). Now innodb_thread_concurrency=0 means unlimitied count of concurrent threads inside InnoDB. It’s logical, but there was long way. In MySQL versions below 5.0.8 for unlimited threads you had to set innodb_thread_concurrency over 500 (and default value for innodb_thread_concurrency was 8 ). Starting with MySQL […]

Read More