MariaDB/MySQL: working with storage engines
MariaDB and MySQL support several storage engines. See MariaDB and MySQL storage engines: an overview for a discussion about existing MariaDB and MySQL storage engines. Here we’ll see how to work with...
View ArticleGetting Started with MindsDB and MySQL
If you have not already heard, Vettabase is now a partner of MindsDB, working on improving MySQL compatibility. In this post we shall take a look at getting started with MindsDB by connecting to MySQL...
View ArticleEnhancing MySQL Security: Data-at-Rest Encryption with the Keyring Plugin
Data security has always been important for any organization handling sensitive information. Data-at-rest encryption is one of the key things used to protect stored data, ensuring that unauthorized...
View ArticleThe Mystery of ProxySQL Galera Writer Switchover!
Writer switchover issues with ProxySQL and Galera can feel like an unsolved puzzle. Recently, I encountered two strange behaviors that revealed underlying issues in how ProxySQL interacts with Galera...
View ArticleA Review of 2024 in the Database World
It’s January 2025, so it’s a good time to look back, and write my thoughts on the most important events and trends of 2024 in the database world. Would you like to share your thoughts? I’d be happy to...
View ArticleThe EXPLAIN command and its variants in MariaDB and MySQL
For a very long time, the EXPLAIN command remained the same in the MariaDB and MySQL world. It was good enough in most cases, but the community welcomed the implementation of extensions and variants....
View ArticleStored Procedures in MariaDB: Smarter, Easier and More Powerful
MariaDB supports stored procedures written in procedural SQL. Which essentially means “SQL with IF’s and loops”. Most DBMSs do the same, but every project supports different, incompatible syntaxes....
View ArticleWhen indexes make SQL queries slower
During our SQL optimisation training courses, I always stress the need of understanding how databases run SQL queries internally. Which is easier and more intuitive than you’d think, anyway. But if...
View ArticleHandling duplicate rows in MariaDB and MySQL
Most tables have a concept of “duplicate rows”, where duplicates should never be allowed. Typical examples are: We have a product table, the name column is UNIQUE. If I’ll try to insert a row with a...
View ArticleQuery Optimisation: Using indexes for WHERE with multiple conditions
You have a beautiful application, but a page is slow. After some investigation, you find out that a query is unexpectedly slow, ruining user experience and causing frustration for you. It is a simple...
View Article