Kies het kleinste type dat elke waarde die je ooit zult opslaan correct bevat. Het juiste type bespaart schijfruimte, verkleint indexes en voorkomt stille datacorruptie.
Kies het kleinste type dat elke waarde die je ooit zult opslaan correct bevat. Het juiste type bespaart schijfruimte, verkleint indexes en voorkomt stille datacorruptie.
INT (4 bytes) voor de meeste id's; BIGINT (8 bytes) alleen wanneer je echt de ~2,1 miljard voorbijgroeit.DECIMAL(10,2) voor geld — nooit FLOAT/DOUBLE, die binair afronden en centen verliezen.VARCHAR(n) voor begrensde tekst (namen, e-mailadressen); de n is een bovengrens, de opslag is alleen wat je gebruikt.TEXT voor grote blobs (artikelen) — die wordt off-page opgeslagen en kan geen default hebben; gebruik het niet voor korte waarden waarop je filtert.DATETIME (geen tijdzone, 8 bytes) versus TIMESTAMP (naar UTC geconverteerd, 4 bytes, ~2038-limiet).CREATE TABLE payments (
id BIGINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
amount DECIMAL(10,2) NOT NULL, -- exact money, not FLOAT
currency CHAR(3) NOT NULL, -- always 3 chars -> fixed CHAR
note VARCHAR(255), -- bounded, indexable
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);
-- Pitfall: the default SQL mode rejects bad values (good) --
INSERT INTO payments (amount) VALUES ('abc'); -- ERROR 1366, not silently 0
FLOAT gebruiken voor geld.VARCHAR(255) uit gewoonte — te grote sleutels blazen indexes op.UNSIGNED vergeten op id's/tellingen die nooit negatief zijn (verdubbelt het positieve bereik).Datatypes zijn de goedkoopste beslissing over correctheid en performance die je neemt, en de moeilijkste om later te veranderen — smalle, exacte types houden indexes klein en stoppen slechte data aan de deur voordat het een productiebug wordt.
Een bibliotheek met IT-sollicitatievragen met gedetailleerde antwoorden — van Junior tot Senior.
Doneren