Buy Percona ServicesBuy Now!

2016 Percona Live Tutorials Schedule is UP!

 | December 29, 2015 |  Posted In: Big Data, Cloud and MySQL, Cloud and NoSQL, Events and Announcements, MongoDB, Percona Live

12 Days Until Percona Live

We are excited to announce that the tutorial schedule for the Percona Live Data Performance Conference 2016 is up! The schedule shows all the details for each of our informative and enlightening Percona Live tutorial sessions, including insights into InnoDB, MySQL 5.7, MongoDB 3.2 and RocksDB. These tutorials are a must for any data performance professional! The […]

Read More

EXPLAIN FORMAT=JSON: order_by_subqueries, group_by_subqueries details on subqueries in ORDER BY and GROUP BY

 | December 29, 2015 |  Posted In: EXPLAIN, EXPLAIN FORMAT=JSON is cool!, JSON, MySQL


Another post in the EXPLAIN FORMAT=JSON is Cool! series! In this post, we’ll discuss how the EXPLAIN FORMAT=JSON provides optimization details for  ORDER BY and   GROUP BY operations in conjunction with  order_by_subqueries and   group_by_subqueriesEXPLAIN FORMAT=JSON can print details on how a subquery in ORDER BY is optimized:

The above code shows member ordering_operation of query_block  (which includes the  order_by_subqueries array) with information on how the subquery in ORDER BY  was optimized. This is […]

Read More

EXPLAIN FORMAT=JSON provides insights on optimizer_switch effectiveness

 | December 28, 2015 |  Posted In: EXPLAIN, EXPLAIN FORMAT=JSON is cool!, JSON, MySQL


The previous post in the EXPLAIN FORMAT=JSON is Cool! series showed an example of the query select dept_name from departments where dept_no in (select dept_no from dept_manager where to_date is not null), where the subquery was materialized into a temporary table and then joined with the outer query. This is known as a semi-join optimization. But what happens if we turn off this optimization? EXPLAIN FORMAT=JSON can help us with this investigation too. First lets look at the […]

Read More

Percona Server for MongoDB storage engines in iiBench insert workload

 | December 23, 2015 |  Posted In: MongoDB, MySQL

storage engine

We recently released the GA version of Percona Server for MongoDB, which comes with a variety of storage engines: RocksDB, PerconaFT and WiredTiger. Both RocksDB and PerconaFT are write-optimized engines, so I wanted to compare all engines in a workload oriented to data ingestions. For a benchmark I used iiBench-mongo (, and I inserted one billion […]

Read More

EXPLAIN FORMAT=JSON: everything about attached_subqueries, optimized_away_subqueries, materialized_from_subquery

 | December 22, 2015 |  Posted In: EXPLAIN, EXPLAIN FORMAT=JSON is cool!, JSON, MySQL

EXPLAIN FORMAT=JSON The regular EXPLAIN command already provides some information about subquery optimization. For example, you can find out if the subquery is dependent or not, and (since version 5.6) if it was materialized:

However, you can’t find details on exactly how this subquery was materialized. To find out more, use EXPLAIN FORMAT=JSON:

We can see […]

Read More

Better high availability: MySQL and Percona XtraDB Cluster with good application design

 | December 21, 2015 |  Posted In: High-availability, Insight for DBAs, MySQL, Percona XtraDB Cluster, Replication, XtraDB Cluster

High Availability Have you ever wondered if your application should be able to work in read-only mode? How important is that question? MySQL seems to be the most popular database solution for web-based products. Most typical Internet application workloads consist of many reads, with usually few writes. There are exceptions of course – MMO games […]

Read More

Performance Schema: Measure Multi-Threaded Slave Activity

 | December 18, 2015 |  Posted In: MySQL, Performance Schema

multi-threaded slave

Performance Schema In many types of database workloads, using a multi-threaded slave from 5.6+ helps improve replication performance. I’ve had a number of users enable this feature, but have not seen anyone ask how each thread is performing. Here’s a quick way with Performance_Schema to measure the amount of multi-threaded slave activity on each thread (after you […]

Read More

Sneak peek at the Percona Live Data Performance Conference and Expo 2016

 | December 17, 2015 |  Posted In: Events and Announcements, Percona Live

On behalf of the Percona Live Conference Committee, I am excited to announce the sneak peek schedule for the Percona Live Data Performance Conference and Expo 2016! Percona Live Data Performance Conference and Expo Live 2016 will feature a variety of formal tracks and sessions related to MySQL, NoSQL and Data in the Cloud. With over 150 […]

Read More

used_key_parts: EXPLAIN FORMAT=JSON provides insight into which part of multiple-column key is used

 | December 17, 2015 |  Posted In: EXPLAIN, EXPLAIN FORMAT=JSON is cool!, JSON, MySQL

In the previous post for this ongoing “EXPLAIN FORMAT=JSON is Cool!” series, we discussed covered indexes and how the  used_columns  array can help to choose them wisely. There is one more type of multiple-column indexes: composite indexes. Composite indexes are just indexes on multiple columns. Covered indexes are a subgroup of the larger set “composite indexes.” In this post we’ll […]

Read More