Buy Percona ServicesBuy Now!

Webinar 6/27: MySQL Troubleshooting Best Practices: Monitoring the Production Database Without Killing Performance

 | June 26, 2018 |  Posted In: Insight for DBAs, Insight for Developers, MariaDB, MySQL, MySQL 101, Percona Server for MySQL, Performance Schema, Technical Webinars

performance troubleshooting MySQL monitoring tools

Please join Percona’s Principal Support Escalation Specialist Sveta Smirnova as she presents Troubleshooting Best Practices: Monitoring the Production Database Without Killing Performance on Wednesday, June 27th at 11:00 AM PDT (UTC-7) / 2:00 PM EDT (UTC-4). Register Now   During the MySQL Troubleshooting webinar series, I covered many monitoring and logging tools such as: General, slow, […]

Read More

Webinar Thu 6/21: How to Analyze and Tune MySQL Queries for Better Performance

 | June 20, 2018 |  Posted In: EXPLAIN, Insight for DBAs, Insight for Developers, MySQL, MySQL 101, Technical Webinars

database query tuning

Please join Percona’s MySQL Database Administrator, Brad Mickel as he presents How to Analyze and Tune MySQL Queries for Better Performance on Thursday, June 21st, 2018, at 10:00 AM PDT (UTC-7) / 1:00 PM EDT (UTC-4). Register Now   Query performance is essential in making any application successful. In order to finely tune your queries […]

Read More

New MySQL 8.0 innodb_dedicated_server Variable Optimizes InnoDB from the Get-Go

 | March 26, 2018 |  Posted In: InnoDB, Insight for DBAs, MySQL, MySQL 101, MySQL 8.0, Percona Monitoring and Management

MySQL 8.0 innodb_dedicated_server

In this post, we’ll look at the MySQL 8.0 innodb_dedicated_server variable. MySQL 8.0 introduces a new variable called innodb_dedicated_server. When enabled, it auto tunes innodb_buffer_pool_size, innodb_log_file_size and innodb_flush_method at startup (if these variables are not explicitly defined in my.cnf). The new MySQL 8.0 variable automatically sizes the following variables based on the RAM size of […]

Read More

What is MySQL Partitioning?

 | July 27, 2017 |  Posted In: Insight for DBAs, MySQL, MySQL 101

MySQL Partitioning

In this blog, we’ll quickly look at MySQL partitioning. Partitioning is a way in which a database (MySQL in this case) splits its actual data down into separate tables, but still get treated as a single table by the SQL layer. When partitioning, it’s a good idea to find a natural partition key. You want […]

Read More

Backups and Disaster Recovery

 | July 18, 2017 |  Posted In: Backups, Business Continuity, MySQL, MySQL 101, Percona Backup Service, Percona XtraBackup

Backups and Disaster Recovery

In this post, we’ll look at strategies for backups and disaster recovery. Note: I am giving a talk on Backups and Disaster Recovery Best Practices on July 27th. Register Now When discussing disaster recovery, it’s important to take your business’ continuity plan into consideration. Backup and recovery processes are a critical part of any application […]

Read More

Percona Live Open Source Database Conference 2017 Slides and Videos Available

 | May 16, 2017 |  Posted In: Big Data, Cloud and MySQL, Cloud and NoSQL, Column Store Database, Database Monitoring, Docker, Group Replication, InnoDB, MariaDB, MongoDB, MyRocks, MySQL, MySQL 101, Percona Live

Percona Live

The slides and videos from the Percona Live Open Source Database Conference 2017 are available for viewing and download. The videos and slides cover the keynotes, breakout sessions and MySQL and MongoDB 101 sessions. To view slides, go to the Percona Live agenda, and select the talk you want slides for from the schedule, and […]

Read More

used_columns: EXPLAIN FORMAT=JSON tells when you should use covered indexes

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

In the “MySQL Query tuning 101” video, Alexander Rubin provides an excellent example of when to use a covered index. On slide 25, he takes the query select name from City where CountryCode = ’USA’ and District = ’Alaska’ and population > 10000 and adds the index cov1(CountryCode, District, population, name) on table City. With Alex’s query tuning experience, making the right index decision is simple – but what about us mere mortals? If a query is more […]

Read More

Why base64-output=DECODE-ROWS does not print row events in MySQL binary logs

 | July 30, 2015 |  Posted In: MySQL, MySQL 101

Lately I saw many cases when users specified option --base64-output=DECODE-ROWS  to print out a statement representation of row events in MySQL binary logs just to get nothing. Reason for this is obvious: option --base64-output=DECODE-ROWS  does not convert row events into its string representation, this is job of option --verbose . But why users mix these […]

Read More