by Peter Zaitsev | Dec 9, 2010 | Insight for DBAs, MySQL
Understanding how well your tables and indexes fit to buffer pool are often very helpful to understand why some queries are IO bound and others not – it may be because the tables and indexes they are accessing are not in cache, for example being washed away by...
by Justin Swanhart | Nov 15, 2010 | Insight for Developers, MySQL
Preamble: On performance, workload and scalability: MySQL has always been focused on OLTP workloads. In fact, both Percona Server and MySQL 5.5.7rc have numerous performance improvements which benefit workloads that have high concurrency. Typical OLTP workloads...
by Yves Trudeau | Oct 25, 2010 | Benchmarks, MySQL
The parameter sort_buffer_size is one the MySQL parameters that is far from obvious to adjust. It is a per session buffer that is allocated every time it is needed. The problem with the sort buffer comes from the way Linux allocates memory. Monty Taylor (here) have...
by Peter Zaitsev | Sep 23, 2010 | 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...
by Aurimas Mikalauskas | Sep 6, 2010 | 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...
by Justin Swanhart | May 19, 2010 | 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...
by Maciej Dobrzanski | May 17, 2010 | 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 phpDay.it conference last...
by Vadim Tkachenko | Jul 14, 2009 | 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...
by Ryan Lowe | Jun 18, 2009 | Percona Events
Today marks the official launch of Percona.tv. 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!
by Alexey Kovyrin | Jan 24, 2008 | 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...
by Vadim Tkachenko | May 12, 2006 | 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...