Choisissez le plus petit type qui contient correctement chaque valeur que vous stockerez un jour. Le bon type économise de l'espace disque, réduit la taille des index et prévient la corruption silencieuse des données.
Choisissez le plus petit type qui contient correctement chaque valeur que vous stockerez un jour. Le bon type économise de l'espace disque, réduit la taille des index et prévient la corruption silencieuse des données.
INT (4 octets) pour la plupart des ids ; BIGINT (8 octets) seulement lorsque vous dépassez réellement ~2,1 milliards.DECIMAL(10,2) pour l'argent — jamais FLOAT/DOUBLE, qui arrondissent en binaire et perdent des centimes.VARCHAR(n) pour du texte borné (noms, emails) ; le n est un plafond, le stockage ne représente que ce que vous utilisez.TEXT pour les gros blobs (articles) — il est stocké hors page et ne peut pas avoir de valeur par défaut ; ne l'utilisez pas pour des valeurs courtes sur lesquelles vous filtrez.DATETIME (sans fuseau horaire, 8 octets) contre TIMESTAMP (converti en UTC, 4 octets, limite ~2038).CREATE TABLE payments (
id BIGINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
amount DECIMAL(10,2) NOT NULL, -- argent exact, pas de FLOAT
currency CHAR(3) NOT NULL, -- toujours 3 caractères -> CHAR fixe
note VARCHAR(255), -- borné, indexable
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);
-- Piège : le mode SQL par défaut rejette les mauvaises valeurs (tant mieux) --
INSERT INTO payments (amount) VALUES ('abc'); -- ERROR 1366, pas un 0 silencieux
FLOAT pour l'argent.VARCHAR(255) partout par habitude — des clés surdimensionnées gonflent les index.UNSIGNED sur les ids/compteurs qui ne sont jamais négatifs (double la plage positive).Les types de données constituent la décision de justesse et de performance la moins coûteuse à prendre, et la plus difficile à changer par la suite — des types étroits et exacts gardent les index compacts et arrêtent les mauvaises données à la porte avant qu'elles ne deviennent un bug en production.
Une bibliothèque de questions d'entretien IT avec des réponses détaillées — du Junior au Senior.
Faire un don