Percona Resources

Software
Downloads

All of Percona’s open source software products, in one place, to download as much or as little as you need.

Valkey Contribution

Product Documentation

Why Percona for MongoDB?

Why Percona for PostgreSQL?

Percona Blog

Percona Blog

Our popular knowledge center for all Percona products and all related topics.

Community

Percona Community Hub

A place to stay in touch with the open-source community

Events

Percona Events Hub

See all of Percona’s upcoming events and view materials like webinars and forums from past events

About

About Percona

Percona is an open source database software, support, and services company that helps make databases and applications run better.

Percona in the News

See Percona’s recent news coverage, press releases and industry recognition for our open source software and support.

Our Customers

Our Partners

Careers

Contact Us

Przemysław Malkowski
Przemek joined Support Team at Percona in August 2012. Before that he spent over five years working for Wikia.com (Quantcast Top 50) as System Administrator where he was a key person responsible for seamless building up MySQL powered database infrastructure. Besides MySQL he worked on maintaining all other parts of LAMP stack, with main focus on automation, monitoring and backups.

What’s the Cost of Counting MySQL Table Rows?

What index will be used when you count all rows in a table? Well, the MySQL documentation provides a straightforward answer to this, quoting: InnoDB processes SELECT COUNT(*) statements by traversing the smallest available secondary index unless an index or optimizer hint directs the optimizer to use a different index. If a secondary index is […]

How To Deal with a AUTO_INCREMENT Max Value Problem in MySQL and MariaDB

An application down due to not being able to write into a table anymore due to a maximum allowed auto-increment value may be one of the worst nightmares of a DBA. Typical errors related to this problem in MySQL will look like this:

or

While the solution could be easy and fairly quick […]

Upgrade MySQL to 8.0? Yes, but Avoid Disaster!

This post was originally published in July 2023 and was updated in October 2024. Upgrading to MySQL version 8.0 is a hot topic since version 5.7 reached EOL. MySQL 5.7 EOL was at the end of October 2023. If you feel unprepared for the upgrade, consider post-EOL support from Percona. But it would be the […]

When Warnings Deceive: The Curious Case of InnoDB’s Row Size Limitation

Mysterious warning Recently, I was involved in an investigation whose goal was to find out the reason for a warning message like this:

The message looks clear, isn’t it? Well, the problem was that this particular table had not been changed for years, and so no DDL (ALTER) query was involved here. Moreover, there […]

Can Disk Space Be Saved in MySQL by Adding a Primary Key?

Historically, MySQL does not require explicit primary key defined on tables, and it’s like that by default till this day (MySQL version 8.3.0). Such a requirement is imposed through two replication methods, though: Group Replication and Percona XtraDB Cluster (PXC), where using tables without a primary key is not allowed by default. There are many […]

MySQL Table Size Is Way Bigger After Adding a Simple Index; Why?

It is a known good practice to keep only necessary indexes to reduce the write performance and disk space overhead. This simple rule is mentioned briefly in the official MySQL Documentation: https://dev.mysql.com/doc/refman/8.0/en/optimization-indexes.html However, in some cases, the overhead from adding a new index can be way above the expectations! Recently, I’ve been analyzing a customer […]

MongoDB Queries Slow Due to Flow Control but No Replication Lag?

Have you ever encountered queries delayed by flow control but found no lagged secondaries? This article shows a possible scenario of why this happens. Replica Sets provide high availability and redundancy to MongoDB clusters. There is always one primary node that can accept writes, but the replica set topologies vary depending on the use case […]

Streaming MongoDB Backups Directly to S3

If you ever had to make a quick ad-hoc backup of your MongoDB databases, but there was not enough disk space on the local disk to do so, this blog post may provide some handy tips to save you from headaches. It is a common practice that before a backup can be stored in the […]

Is MySQL Statement-Based / Mixed Replication Really Safe?

The binary logging format in MySQL has been ROW by default since MySQL 5.7, yet there are still many users sticking with STATEMENT or MIXED formats for various reasons. In some cases, there is just simple hesitation from changing something that has worked for years on legacy applications. But in others, there may be serious […]

Temporary Tables in MySQL – Never Ending Story?

If you ever had to deal with performance and/or disk space issues related to temporary tables, I bet you eventually found yourself puzzled. There are many possible scenarios depending on the type of temporary table, settings, and MySQL version used. We have observed a pretty long evolution in that matter due to a couple of […]

Resolving the MySQL Active-Active Replication Dilemma

Multi-writer replication has been a challenge in the MySQL ecosystem for years before truly dedicated solutions were introduced – first Galera (and so Percona XtradDB Cluster (PXC)) replication (around 2011), and then Group Replication (first GA in 2016). Now, with both multi-writer technologies available, do we still need traditional asynchronous replication, set up in active-active […]