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

Peter Zaitsev
Peter managed the High Performance Group within MySQL until 2006, when he founded Percona. Peter has a Master's Degree in Computer Science and is an expert in database kernels, computer hardware, and application scaling.

MySQL 4 to MySQL 5 Upgrade performance regressions

This week I already had two serious performance regression cases when upgrading from MySQL 4.0 and 4.1 to MySQL 5.0. By serious I mean several times performance difference not just 5-10% you often see for simple queries due to generally fatter code. The problem in both cases was MySQL 5.0 broken group commit bug. First […]

MySQL Slow query log in the table

As of MySQL 5.1 get MySQL slow query log logged in mysql.slow_log table instead of the file as you had in previous versions. We rarely would use this feature as it is incompatible with our slow query analyses patch and tools Fixing this is not trivial while staying 100% compatible to standard format as TIME […]

MySQL – to use or not to use

Reading this slashdot article today and two CIO magazine articles linked from it. Such discussions started at right place at right time always attract a lot of flamers and can be fun to read. What hit me this time is quality of the articles in CIO magazine. If this is what managers suppose to use […]

Predicting How Long Data Load Would Take

I had this question asked many times during last week, and there is really no easy answer. There are just way too many variables to consider especially while loading large schemas with a lot of different table structures. So which variables affect the load speed: Table Structure This one is tricky. The shorter rows you […]

Innodb Recovery Update – The tricks what failed.

As I wrote we had been recovering corrupted Innodb Tablespace and it is finally done now. As this was over than 1TB worth of data we really tried to avoid dumping the data and find some other way to recovery. Examining Innodb page content and crash information we figured out it should be page of […]

MySQL Geek Job Openings

The consulting load keeps increasing so we’re looking for some help. This job would be perfect for someone interested in high performance and scaling with decent knowledge of MySQL and eagerness to learn more. We do encourage people from all countries to apply.

Wishes for mysqldump

Dealing with dumping and recovery of large and partially corrupted database I’ve got couple of feature ideas for mysqldump or similar tool and appropriate import tool Dump in parallel single thread dump is not efficient of course especially on systems with multiple CPUs and disks. It is lesser issue in recovery case because import takes […]

Innodb crash recovery update

I have not had a serious Innodb corruptions for a while, typically even if it happened it was some simple table related corruption which was easy to fix on table level. In couple of cases during last year when it was more than that we had backups and binary logs which means it was easier […]

Magic Innodb Recovery self healing

We have certain type of the table corrupting with Innodb, as it is limited to only one particular index on one particular table type it is likely to be Innodb bug but Heikki currently could not find what could be causing it. Happily as we have data stored in many tables of same format rather […]

MySQL Installation and upgrade scripts.

I generally find MySQL Sever sufficiently tested, meaning at least minor version upgrades rarely cause the problems. Of course it is not perfect and I remember number of big issues when some releases could not be used due to behavior changes in them and when something had to be rolled back in the next release. […]

Planet MySQL AdSense Advertisement

As you probably know MySQL is Running AdSense Ads on PlanetMySQL.org for last few months. When the project was just started it was Ad free. I’m curious If MySQL Really ask syndicated Blog owners if they would allow that or if they just hope if someone does not like it he would speak up ? […]

MySQL Storage Engines – PBXT

I promised to write little articles about all storage engines which sessions I attended during MySQL Users Conference but I did not get too far yet, too busy. So today it is time for PBXT. I was very interested about session about PBXT because this is storage engine does not target the same general purpose […]

Merge Tables Gotcha

I had the interesting customer case today which made me to do a bit research on the problem. You can create merge table over MyISAM tables which contain primary key and global uniqueness would not be enforced in this case, this is as far as most people will think about it. In fact however it […]

How to estimate time it takes Innodb to Recover ?

Today seems to be Innodb day in our Blog, but well this is the question which pops ups quite frequently in Innodb talks and during consulting engagements. It is well known to get better performance you should normally set innodb_log_file_size large. We however usually recommend caution as it may significantly increase recovery time if Innodb […]

MySQL Users Conference – Innodb

It might look like it is too late to write about stuff happened at Users Conference but I’m just starting find bits of time from processing accumulated backlog. The Theme of this Users Conference was surely Storage Engines both looking at number of third party storage engine presented, main marketing message – Storage Engine partnership […]

Linux failing to boot screen on the plane

I’ve seen Windows Blue Screen of Death, stalled boot process or simply application error dialog on many big information screens in shops, airports and other places as well in other systems such as cache machines, airport self checking systems or photo print kiosk. Today coming back from US on NorthWest Airbus A330 we got stalled […]

UC2007 Presentation and Notes

I can’t write I’m just back from MySQL Users Conference both because I’m still in USA visiting customers and because it has ended almost a week ago but I was too busy to write anything about it or post my presentations. This was my 5th MySQL Users Conference so I met a lot of good […]

Back from RIT2007

So I’m back from RIT2007 which took place April 16,17 in Moscow,Russia. The conference was well organized, while the conference center was a bit small for event – halls were jam packed during the breaks and there was limited sitting available for many sessions. It was great to see attendees from almost all serious Internet […]

How simple answer are you looking for ?

I’ve got an interesting comment the other day saying “I’ve heard Jay Pipes saying indexes with cardinality lower than 30% are worthless, true?” That is interesting question and it has different answers depending on who is asking. A lot of people want to hear simple answers to the questions because they would be overwhelmed by […]

COUNT(*) vs COUNT(col)

Looking at how people are using COUNT(*) and COUNT(col) it looks like most of them think they are synonyms and just using what they happen to like, while there is substantial difference in performance and even query result. Lets look at the following series of examples: