In MySQL/MariaDB one has to use ALTER TABLE to set a table comment. This is a problem in many situations.
MySQL logs slow queries into the Slow Log. But it’s preferable to log all the queries, not just some of them. This article shows how to log all available information.
Invisible columns are columns that are not returned by a SELECT *. Their use cases are not obvious.
Modifying table structures is sometimes necessary, or desirable. Modifying them online can be a pain, especially with big tables. Migrations should be ran properly in production.
Let’s use Percona User Statistics to analyse our most used tables, and to look for problems where they mostly matter.
Relational DBMSs allow to grant users permissions on certain tables or columns. Here we’ll discuss how to restrict access to a certain set of rows.
MySQL supports replication filters and binlog filters. These features are powerful, but dangerous. Here you’ll find out the risks, and how to mitigate them.
How to find useless indexes and get rid of them to improve your database performance.
How to define realistic speed and availability goals. Understand what a SLO (service-level objective) is, and the cost of violating it.
Whenever I worked as a DBA, I was reasonably scared by 💧DROP commands. Don’t get me wrong: despite this, I badly wanted to drop obsolete tables. After that, I could more easily ask developers to fix bad practices, like tables …