Izberite najmanjši tip, ki pravilno zajame vsako vrednost, ki jo boste kdaj shranili. Pravi tip prihrani prostor na disku, skrči indekse in prepreči tiho poškodbo podatkov.
Izberite najmanjši tip, ki pravilno zajame vsako vrednost, ki jo boste kdaj shranili. Pravi tip prihrani prostor na disku, skrči indekse in prepreči tiho poškodbo podatkov.
INT (4 bajti) za večino identifikatorjev; BIGINT (8 bajtov) le takrat, ko resnično prerastete ~2,1 milijarde.DECIMAL(10,2) za denar — nikoli FLOAT/DOUBLE, ki zaokrožujeta v binarnem zapisu in izgubljata cente.VARCHAR(n) za omejeno besedilo (imena, e-poštni naslovi); n je zgornja meja, shrani pa se le toliko, kolikor porabite.TEXT za velike bloke (članki) — shranjuje se izven strani in ne more imeti privzete vrednosti; ne uporabljajte ga za kratke vrednosti, po katerih filtrirate.DATETIME (brez časovnega pasu, 8 bajtov) v primerjavi s TIMESTAMP (pretvorjen v UTC, 4 bajti, omejitev okoli leta 2038).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 za denar.VARCHAR(255) povsod iz navade — predimenzionirani ključi napihnejo indekse.UNSIGNED pri identifikatorjih/števcih, ki nikoli niso negativni (podvoji pozitivni razpon).Podatkovni tipi so najcenejša odločitev glede pravilnosti in zmogljivosti, ki jo sprejmete, in hkrati najtežje spremenljiva pozneje — ozki, natančni tipi ohranjajo indekse majhne in ustavijo slabe podatke pri vratih, preden postanejo napaka v produkciji.
Knjižnica IT vprašanj za razgovore s podrobnimi odgovori — od začetnika do izkušenega.
Doniraj