Author - Jervin Real

Updating/Deleting Rows with ClickHouse (Part 1)

ClickHouse

In this post, we’ll look at updating and deleting rows with ClickHouse. It’s the first of two parts.
Update: Part 2 of this post is here.
ClickHouse is fast – blazing fast! It’s quite easy to pick up, and with ProxySQL integrating with existing applications already using MySQL, it’s way less complex than using other analytics […]

Read more

Avoid Shared Locks from Subqueries When Possible

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:

MySQL

update ibreg set k=1 where id in (select id from ibcmp where id > 90000);

1

update ibreg set k=1 where id in (select id from […]

Read more

ProxySQL Improves MySQL SSL Connections

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

Lock, Stock and MySQL Backups: Data Guaranteed Webinar Follow Up Questions

MySQL Backups

Hello again! On August 16, we delivered a webinar on MySQL backups. As always, we’ve had a number of interesting questions. Some of them we’ve answered on the webinar, but we’d like to share some of them here in writing.
What is the best way to maintain daily full backups, but selective restores omitting certain […]

Read more

Learning MySQL 5.7: Q & A

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.
Would there […]

Read more

A Little Trick Upgrading to MySQL 5.7

Upgrading to MySQL 5.7

In this blog post, I’ll look at a trick we use at Percona when upgrading to MySQL 5.7.
I’ll be covering this subject (and others) in my webinar Learning MySQL 5.7 on Wednesday, July 19, 2017.
We’ve been doing upgrades for quite a while here are Percona, and we try to optimize, standardize and improve this process […]

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

How Big Can Your Galera Transactions Be

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

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

Read more

Measuring the impact of tcpdump on Very Busy Hosts

A few years back Deva wrote about how to use tcpdump on very busy hosts. That post sparked my interest about exploring how to measure the impact of tcpdump on very busy hosts. In this post, I wanted to highlight how much of an impact there really is and what options you have to make […]

Read more