Yearly Archives - 2015

Database Performance Webinar: Tired of MySQL Making You Wait?

Too often developers and DBAs struggle to pinpoint the root cause of MySQL database performance issues, and then spend too much time in trying to fix them. Wouldn’t it be great to bypass wasted guesswork and get right to the issue?
In our upcoming webinar Tired of MySQL Making You Wait? we’re going to help […]

Read more

2016 Percona Live Tutorials Schedule is UP!

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 Percona […]

Read more

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

EXPLAIN FORMAT=JSON

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_subqueries. 

EXPLAIN FORMAT=JSON can print details on how a subquery in
ORDER BY is optimized:

MySQL

mysql> explain format=json select emp_no, concat(first_name, ‘ ‘, last_name) f2 from employees order by (select emp_no limit 1)G
*************************** 1. […]

Read more

EXPLAIN FORMAT=JSON provides insights on optimizer_switch effectiveness

optimizer_switch

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 […]

Read more

Percona Server for MongoDB storage engines in iiBench insert workload

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 (https://github.com/mdcallag/iibench-mongodb), and I inserted one billion (bln) […]

Read more

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

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:

MySQL

mysql> explain select dept_name from departments where dept_no in (select dept_no from dept_manager where to_date is not null)G
*************************** 1. row ***************************
[…]

Read more

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

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 for […]

Read more

Performance Schema: Measure Multi-Threaded Slave Activity

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

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

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 […]

Read more