Troubleshooting performance degradation caused by pileup of queries stuck in “Waiting for table flush” state in MySQL and MariaDB.
Troubleshooting performance degradation caused by pileup of queries stuck in “Waiting for query cache lock” state in MySQL and MariaDB.
If you spend all day every day looking after hundreds of MySQL servers, the chances are that you have encountered this problem. And the chances are that if your servers are configured properly (i.e. you have the same configuration the master and the slaves), the error is almost certainly spurious and doesn’t mean what it […]
A summary of basics of MariaDB and MySQL performance tuning, along with a few more advanced hints and tips. Beyond these, further tuning becomes very workload specific.
When you DROP or TRUNCATE a table or partition in MySQL and you have a large buffer pool, you may noticed a complete server lock-up or stall of multiple seconds. Mitigation and Workarounds.
DELETE statements can have a disproportionately high impact on performance of a database server. Here we explore techniques for optimizing them.
Data types matching between the table columns and queries is important – mismatch usually prevents the use of indexes.
Most DBAs know that sub-selects are typically bad for performance, but this example we encountered in the wild illustrates very well just how bad for performance sub-selects can be.
In this article we discuss a list of best practices to help you write queries that perform well and avoid writing queries that end up being unoptimizable.
ORs in SQL queries are bad for performance. Here we describe a technique for doing away with the ORs to improve performance while still retaining functional equivalence of the query.