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

Improving TPC-H-like queries – Q17

Executive Summary: A query like TPC-H Query 17 can be sped up by large factors by using straight_joins and clustering indexes. (This entry posted by Dave.) In a previous post, we wrote about queries like TPC-H query 2, and the use of straight_join to improve...

The feature I love in TokuDB

Playing with TokuDB updates I noticed in SHOW PROCESSLIST unsual for MySQL State. mysql> show processlist; +----+------+-----------+--------+---------+------+---------------------------+-----------------------------+ | Id | User | Host | db | Command | Time | State...

mysql-proxy, urgh performance and scalability ?

For one our project I needed proxy solution, and mysql-proxy is one of well-known, so it was logical first choice. The obvious question which come in mind is what performance penalty we have using mysql-proxy, version 0.7.1. So it is easy to test. (By the way sysbench...
Choosing Column Order in Indexes

Choosing Column Order in Indexes

I wanted to share a little rule of thumb I sometimes use to choosing column order in indexes. This is not specific to MySQL, it’s generally applicable to any database server with b-tree indexes. And there are a bunch of subtleties, but I will also ignore those...

Long Index Keys

In this post we’ll describe a query that accrued significant performance advantages from using a relatively long index key. (This posting is by Zardosht and Bradley.) We ran across this query recently when interacting with a customer (who gave us permission to...

Using netcat to copy MySQL Database

This is mainly a cheat sheet for me to remember. Nothing rocket science. It often makes sense to use netcat/nc to copy MySQL database between hosts in trusted networks. It bypasses encryption overhead of SSH and depending on configuration can be significantly faster....

Clustering indexes vs. Covering indexes

Yesterday, I (Zardosht) posted an entry introducing clustering indexes. Here, I elaborate on three differences between a clustering index and a covering index: Clustering indexes can create indexes that would otherwise bounce up against the limits on the maximum...

Introducing Multiple Clustering Indexes

In this posting I’ll describe TokuDB’s multiple clustering index feature. In general (not just for TokuDB) a clustered index or a clustering index is an index that stores the all of the data for the rows. Quoting the MySQL 5.1 reference manual: Accessing a...

Publications Related to Fractal Tree Indexing

The TokuDB storage engine for MySQL employs Fractal Tree technology. We’ve been planning to write a white paper explaining how fractal tree indexing works, but haven’t gotten to it yet. In the mean time, here are links to some academic papers that relate...

Open Development vs Making a Big Splash

I find it very interesting how Sun does not get the very basic principle of true community Open Source development – you’ve got to give up on making a big splash. Traditional close source company often develop product in the secret and when it comes out as...

Terminate MySQL Connections

Every so often I run into a situation when I need to terminate connections on MySQL server – for example, hundreds of instances of some bad query is running, making the server unusable. Many people have special scripts which can take the user, source host, or...

xtrabackup-0.7 (RC)

We announce next version of our xtrabackup tool and we consider it stable enough to put label RC on it. Changelist includes: – use O_DIRECT by default for handling InnoDB files – use posix fadvise call to disable OS caching of copying files – disable...

Hint: throttling xtrabackup

Using xtrabackup for copying files can really saturate your disks, and that why we made special option --throttle=rate 1 --throttle=rate to limit rate of IO per second. But it really works when you do local copy. What about stream backup ? Even you copy just to remote...

MySQL Pays attention to Bugs (Finally!)

I should say I can see results of new engineering/refactoring/bug hunt efforts inside Sun/MySQL. Over last couple of weeks I started getting a lot of messages from the bugs system about bugs I reported long ago which were deferred to be fixed later or were left in...

What time 18446744073709550.000 means

Sometimes when you do profiling you can see number like this in timestamps. Periodically in our patches there was Query_time: 18446744073709550.000 in slow.log file (well, it was fixed recently, but still appears in other places). I faced this problem several years...