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 …
ALTER TABLE is often necessary, but it can be risky in a production environment for many reasons. Let’s discuss the problems that one has to take into account.