Comprendre les index, les clés et les tables temporaires dans MySQL : une approche pratique
Lors d'un récent développement, j'ai dû remplacer des tables temporaires utilisées pour des rapports de remboursement et de retour par des tables permanentes.
Voici un exemple de création de table :
CREATE TABLE tasks (
task_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
parent_id INT UNSIGNED NOT NULL DEFAULT 0,
task VARCHAR(100) NOT ...
Publié le 9 août à 17h57
Fonctionnalités Avancées de MySQL
Cet article explore plusieurs fonctionnalités avancées du système de gestion de bases de données MySQL, y compris les vues, les déclencheurs, les transactions, les procédures stockées, les fonctions, les structures de contrôle de flux, les index et l'optimisation des requêtes lentes.
Les Vues
Une vue est un objet de base de données virtuel dont ...
Publié le 5 août à 18h31
Résumé des concepts clés de MySQL
MySQL est un système de gestion de base de données relationnelle (SGBDR) qui utilise une architecture client-serveur. Son architecture peut être globalement divisée en plusieurs couches principales :
Couche de Connexion : Gère les connexions client-serveur et l'authentification.
Couche de Service : Contient le parseur SQL, l'optimiseur et le g ...
Publié le 31 juillet à 22h05
Comportement des verrous dans InnoDB selon les niveaux d'isolation et les index
Examinons les mécanismes de verrouillage dans MySQL InnoDB à travers des scénarios variés, en fonction du niveau d'isolation et du type d'index utilisé. La table de test suivante sert de base :
CREATE TABLE `t_exemple` (
`cle_prim` int(11) NOT NULL,
`val_unique` int(11) DEFAULT NULL,
`val_index` int(11) DEFAULT NULL,
`col_donnee` int(11 ...
Publié le 22 juillet à 22h25
Mécanismes des trois zones Git : Espace de travail, Index et Dépôt local
Mécanismes des trois zones Git : Espace de travail, Index et Dépôt local
Git gère les modifications via trois zones distinctes qui structurent son flux de travail. Chaque zone joue un rôle spécifique dans le contrôle de version.
Espace de travail : Zone d'édition
L'espace de travail contient les fichiers actuellement modifiés sur le système. Le ...
Publié le 17 juillet à 19h07
Explication détaillée de la commande EXPLAIN dans MySQL
Dans le cadre de la maintenance des bases de données, il est courant d'activer le log des requêtes lentes pour identifier les instructions SQL qui prennent beaucoup de temps. Une fois ces requêtes repérées, l'étape suivante consiste à les analyser avec la commande EXPLAIN. Celle-ci permet de visualiser le plan d'exécution d'une requête SQL, de ...
Publié le 13 juillet à 05h40
Comprendre git reset et git checkout : manipulation des arbres Git
Git repose sur trois structures de données principales qui représentent l'état de votre projet à différents niveaux :
Arbre
Rôle
HEAD
Instantanné du dernier commit, parent du prochain commit
Index (zone de staging)
Instantanné préparé pour le prochain commit
Répertoire de travail
Environnement de développement où vous modifiez les fi ...
Publié le 9 juillet à 01h49
Astuces SQL essentielles pour bases de données
01 - Obtenir de l'aide sur les commandes SQL
Documentation officielle
Commande help ou help commande
# Exemple avec psql (PostgreSQL)
mydatabase=# help
You are using psql, the command-line interface to PostgreSQL.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or t ...
Publié le 7 juillet à 19h29
Optimisation MySQL : Techniques Essentielles pour des Performances Accrues
MySQL gère très bien les grands volumes de données, mais en général, plus les tables d'une base de données sont petites, plus les requêtes exécutées dessus sont rapides. Par conséquent, lors de la création de tables, pour de meilleures performances, nous pouvons définir la largeur des colonnes aussi petite que possible.
Par exemple, lors de la ...
Publié le 3 juillet à 08h12
Optimisation des sous-requêtes MySQL
Problématique de performance
Considérons cette requête SQL où les champs bizCustomerIncoming_id (requête externe) et cid (sous-requête) sont endexés :
DELETE FROM customer_path
WHERE customer_id IN (
SELECT identifier FROM customer_data
WHERE client_ref = '315upfdv34umngfrxxxxxx'
);
Malgré les index, l'exécution nécessite un parcours com ...
Publié le 24 juin à 22h39