EmergencyEMERGENCY? Get 24/7 Help Now!

Avoid Shared Locks from Subqueries When Possible

 | September 25, 2017 |  Posted In: InnoDB, Insight for DBAs, MySQL

Shared Locks

In this blog post, we’ll look at how to avoid shared locks from subqueries. I’m pretty sure most of you have seen an UPDATE statement matching rows returned from a SELECT query:

This query, when executed with autocommit=1, is normally harmless. However, this can have bad effects when combined with other statements in the […]

Read More

ProxySQL Improves MySQL SSL Connections

 | September 19, 2017 |  Posted In: ProxySQL, Security, SSL

In this blog post, we’ll look at how ProxySQL improves MySQL SSL connection performance. When deploying MySQL with SSL, the main concern is that the initial handshake causes significant overhead if you are not using connection pools (i.e., mysqlnd-mux with PHP, mysql.connector.pooling in Python, etc.). Closing and making new connections over and over can greatly impact […]

Read More

Learning MySQL 5.7: Q & A

 | August 11, 2017 |  Posted In: MySQL

MySQL 5.7

In this post I’ll answer questions I received in my Wednesday, July 19, 2017, webinar Learning MySQL 5.7! First, thank you all who attended the webinar. The link to the slides and the webinar recording can be found here. I received a number of interesting questions in the webinar that I’ve followed up with below. […]

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

How Big Can Your Galera Transactions Be

 | October 26, 2015 |  Posted In: Percona XtraDB Cluster

While we should be aiming for small and fast transactions with Galera, it is always possible at some point you might want a single large transaction, but what is involved? First, this is supposed to be controlled by two settings, wsrep_max_ws_rows  and wsrep_max_ws_size . The first variable is not yet enforced and has no effect – see […]

Read More

Profiling MySQL queries from Performance Schema

 | April 16, 2015 |  Posted In: MySQL

When optimizing queries and investigating performance issues, MySQL comes with built in support for profiling queries aka SET profiling = 1; . This is already awesome and simple to use, but why the PERFORMANCE_SCHEMA alternative? Because profiling will be removed soon (already deprecated on MySQL 5.6 ad 5.7); the built-in profiling capability can only be enabled per session. This […]

Read More

Recover orphaned InnoDB partition tablespaces in MySQL

 | October 14, 2014 |  Posted In: InnoDB, MySQL

A few months back, Michael wrote about reconnecting orphaned *.ibd files using MySQL 5.6. I will show you the same procedure, this time for partitioned tables. An InnoDB partition is also a self-contained tablespace in itself so you can use the same method described in the previous post. To begin with, I have an example […]

Read More