When database queries are slow a good approach is to use EXPLAIN to get the execution plan of the queries. But the result is not always obvious. In this post I show you how I use EXPLAIN to solve a real performance issue.
What is an application without data. I'm not talking of BigData, but current data of a project that we need to store and use. From relational database mostly with MySQL or MariaDB to persist transactional data in longterm to NoSQL use with Elasticsearch to speed up application but also to use advanced features to facilitate search or dashboard creation. This is the main purpose of posts in this category.
When database queries are slow a good approach is to use EXPLAIN to get the execution plan of the queries. But the result is not always obvious. In this post I show you how I use EXPLAIN to solve a real performance issue.
After the first post who shows the possibility of the JSON functions with MySQL 8 on a JSON array, let's talk about what we can achieve with a JSON object.
MySQL 8 has introduced an advanced support of JSON type and functions. The documentation is complete for the functions but I found the examples not very helpful and too much theorical. The idea here is to show, with a real, but simplified, database some things we can do with this format. In this first article, we will manipulate a JSON colums containing a simple array.
In this article I present you a config which allows to put the client MySQL / MariaDB in color to facilitate the reading of the results of your SQL queries.
The attribution of right in MySQL and MariaDB is sometimes a puzzle especially if one wishes to have a control by table for a user. It is possible to use a wildcard in the Grant command but its syntax is not very explicit.
Have you ever thought about using the .my.cnf configuration file to make it easier to connect to your MySQL or MariaDB databases? This configuration is very useful when you have to manage several databases and / or several servers. I propose you a presentation of what we can do with it in this article.
There are several ways to store dates in database, the choice is not so simple, especially if you need the timezone. In this article I explain the different solutions with their advantages and disadvantages.
No need to remember your password to connect to a linux server, SSH keys provide authentication. We can have the same thing on MySQL and MariaDB. With a plugin, the database server trusts the credentials of the linux system, you only need mysql account with the same name as the linux account and the password disappears from the connection. It is ideal on a development server with multiple users and it greatly facilitates the management of accounts, even if we forget to delete the mysql account, deletion of the linux account is enough.
Writing unit or functional tests on code has almost become a standard. Having a server that automates the verification of these tests and deploys the code is the goal of many development teams. Despite this, these good practices are rarely implemented for database schema migrations. In this article, I'll show you how with a little bash and Jenkins, I test and automate my SQL migrations.
Alter table operation can be a very long task, depending on your database. It's often that database administrator wait too run these operations and do it late in the night to avoid disturbing user. But solutions exist to allow alter table without locking table, pt-online-schema-change from Percona Toolkit is one of these solutions.