Index WP MySQL For Speed DDL – Barracuda

This is the data definition language used by the Index MySQL For Speed plugin to add and remove high-performance keys. This is the code used for recent versions of MariaDB and MySQL, the ones supporting the Barracuda version of the InnoDB storage engine. Notice that each table gets just one ALTER TABLE statement. This allows … Read more

Index WP MySQL For Speed DDL – Antelope

This is the data definition language used by the Index MySQL For Speed plugin to add and remove high-performance keys. This is the code used for older versions of MariaDB and MySQL, the ones supporting the Antelope version of the InnoDB storage engine. Notice that each table gets just one ALTER TABLE statement. This allows … Read more

Reindexing tables with bad dates

Sometimes, upon adding indexes to MariaDb or MySQL tables with columns with zero-default dates you’ll get an error message like this: This happens because your server’s default sql_mode includes the NO_ZERO_DATE value. It is prevalent when working on WordPress indexes using phpmyadmin or some other MySQL client program. To prevent it, change the sql_mode before … Read more

Real users slow applications down

Anybody who’s worked with databases knows this: as they grow they can slow down. It’s the curse of the customer base. Successful applications gather users and other transactional data. In this article I’m using MySQL database queries based on WordPress’s database design. Still, the ideas in this article apply to every application built on any … Read more

Capturing and examining queries

This entry is part 2 of 2 in the series WordPress MySQL performance monitor

It’s straightforward to get WordPress to capture the MySQL queries it uses to generate each page view. We can then analyze the captured queries. Capturing WordPress offers a way to capture a list of the database queries it uses in each page view. It’s simple: define the global SAVEQUERIES symbol. You can define it permanently … Read more

Analyzing WordPress database operations

This entry is part 1 of 2 in the series WordPress MySQL performance monitor

People are using the Index WP MySQL For Speed WordPress plugin! That’s great. But it shoots into the dark: nobody can tell how much improvement they’ve seen except subjectively. That’s not good. It’s hard to improve something unless we can actually measure it. Two things can make a troublesome query. If it runs just once … Read more

Legacy MySQL VMs

Installing old versions of MySQL is a giant pain. An AskUbuntu contributor gave a workable procedure. Need to run MySQL 5.5? Download this VM. Running MySQL 5.7 is easier. Install Ubuntu 18.04, then do sudo apt install mysql-server-5.7 .

Speeding up WordPress database operations

The information in this post isn’t up to date. This was the original concept paper for the plugin. Please see here for the latest. Rick James and I have cooked up a plugin, Index WP MySQL for Speed, to help optimize the way WordPress uses its MySQL database. It adds indexes to WordPress’s tables in … Read more