April 21, 2014

Multiple column index vs multiple indexes with MySQL 5.6

A question often comes when talking about indexing: should we use multiple column indexes or multiple indexes on single columns? Peter Zaitsev wrote about it back in 2008 and the conclusion then was that a multiple column index is most often the best solution. But with all the recent optimizer improvements, is there anything different with […]

How to recover table structure from .frm files with MySQL Utilities

Table structures are stored in .frm files and in the InnoDB Data Dictionary. Sometimes, usually in data recovery issues, we need to recover those structures to be able to find the lost data or just to recreate the tables. There are different ways to do it and we’ve already written about it in this blog. […]

Renaming database schema in MySQL

One of the routine tasks for a DBA is renaming database schemas, and as such MySQL added a command to carry out that purpose called “RENAME DATABASE <database_name>”. However this command just made it through a few minor releases before being discontinued (from MySQL 5.1.7 to 5.1.23). Here’s a link to the reference manual regarding […]

MySQL 5.7.3 milestone release fixes some of my pet peeves

It is wonderful to see some of my original pet peeves fixed in MySQL 5.7.3! It has not even taken 10 years I remember when starting my work at MySQL Support that I would recommend using UNION ALL instead of plain UNION because it would not require duplicate elimination, and as such, would not require […]

A sneak peek at the Percona Live MySQL Conference & Expo 2014

MySQL gurus from Oracle, Facebook, Google, LinkedIn, Twitter, Yelp (and more) have submitted papers and will speak at the third annual Percona Live MySQL Conference and Expo 2014 in sunny Santa Clara, California this coming April 1-4. If you attended last April’s Percona Live MySQL Conference and Expo – and/or last month’s Percona Live London […]

Useful MySQL 5.6 features you get for free in PXC 5.6

I get a lot of questions about Percona XtraDB Cluster 5.6 (PXC 5.6), specifically about whether such and such MySQL 5.6 Community Edition feature is in PXC 5.6.  The short answer is: yes, all features in community MySQL 5.6 are in Percona Server 5.6 and, in turn, are in PXC 5.6.  Whether or not the new […]

MySQL encryption performance, revisited

This is part two on a two-part series on the performance implications of in-flight data encryption with MySQL. In the first part, I focused specifically on the impact of using MySQL’s built-in SSL support with some rather surprising results. Certainly it was expected that query throughput would be lower with SSL than without, but I […]

Drupal and MySQL Performance: Register now for Nov. 13 webinar

Drupal is one of the most popular open source CMS applications available – and it runs primarily on a MySQL backend.  Out of the box, the schema is well tuned and indexed.  However, there are some ways to tweak the default installation to get more out of the system right from start.  Similarly, there is […]

How Percona tested Percona Server 5.6: A world premiere in advanced testing

8PM. One of the servers found a critical bug. Hop online and discuss, log bug. 10PM. Patch ready. 10:30PM. New build ready. 10:45PM. New RQG run initiated. This was by no means an uncommon sight during the months of testing that went into Percona Server 5.6, in fact it was commonplace. At a certain point, […]

QA: Advanced Option Combinatorics (Pairwise Testing): Combinatorial mysqld Option Test Case Generation

How do we ensure that, when we have 35+ testable option combinations for mysqld, we test each and every combination of them? For example: will a different innodb_log_file_size combined with more innodb_log_files_in_group and a modified innodb_fast_shutdown setting truly not affect Percona’s log archiving feature? Most option-related bugs are caused by the setting of 1 or […]