Wähle den kleinsten Typ, der jeden Wert korrekt aufnimmt, den du jemals speichern wirst. Der richtige Typ spart Speicherplatz, verkleinert Indizes und verhindert stille Datenkorruption.
Wähle den kleinsten Typ, der jeden Wert korrekt aufnimmt, den du jemals speichern wirst. Der richtige Typ spart Speicherplatz, verkleinert Indizes und verhindert stille Datenkorruption.
INT (4 Bytes) für die meisten IDs; BIGINT (8 Bytes) nur, wenn du ~2,1 Milliarden tatsächlich überschreitest.DECIMAL(10,2) für Geldbeträge — niemals FLOAT/DOUBLE, die binär runden und Cent-Beträge verlieren.VARCHAR(n) für begrenzten Text (Namen, E-Mails); das n ist eine Obergrenze, gespeichert wird nur, was du tatsächlich nutzt.TEXT für große Blobs (Artikel) — es wird außerhalb der Seite gespeichert und kann keinen Default haben; verwende es nicht für kurze Werte, nach denen du filterst.DATETIME (keine Zeitzone, 8 Bytes) vs. TIMESTAMP (nach UTC konvertiert, 4 Bytes, ~2038-Grenze).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 für Geldbeträge zu verwenden.VARCHAR(255) — überdimensionierte Schlüssel blähen Indizes auf.UNSIGNED bei IDs/Zählern zu vergessen, die niemals negativ sind (verdoppelt den positiven Wertebereich).Datentypen sind die günstigste Korrektheits- und Performance-Entscheidung, die du triffst, und die am schwersten nachträglich zu ändern ist — schmale, exakte Typen halten Indizes klein und stoppen fehlerhafte Daten an der Tür, bevor sie zum Produktionsfehler werden.
Eine Sammlung von IT-Interviewfragen mit ausführlichen Antworten — vom Junior bis zum Senior.
Spenden