Agħżel l-iżgħar type li jżomm b'mod korrett kull valur li qatt se taħżen. It-type it-tajjeb jiffranka disk, inaqqas l-indexes, u jipprevjeni korruzzjoni siekta tad-data.
Agħżel l-iżgħar type li jżomm b'mod korrett kull valur li qatt se taħżen. It-type it-tajjeb jiffranka disk, inaqqas l-indexes, u jipprevjeni korruzzjoni siekta tad-data.
INT (4 bytes) għal ħafna ids; BIGINT (8 bytes) biss meta verament tikber lil hinn minn ~2.1 biljun.DECIMAL(10,2) għall-flus — qatt FLOAT/DOUBLE, li jarrotondaw f'binarju u jitilfu ċenteżmi.VARCHAR(n) għal test limitat (ismijiet, emails); l-n huwa limitu, l-istorage huwa biss dak li tuża.TEXT għal blobs kbar (artikli) — jinħażen off-page u ma jistax ikollu default; tużahx għal valuri qosra li tiffiltra fuqhom.DATETIME (l-ebda timezone, 8 bytes) vs TIMESTAMP (konvertit għal UTC, 4 bytes, limitu ~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 għall-flus.VARCHAR(255) kullimkien mid-drawwa — keys kbar iżżejjed jonfħu l-indexes.UNSIGNED fuq ids/counts li qatt ma huma negattivi (jirdoppja r-range pożittiv).Id-data types huma l-orħos deċiżjoni ta' correctness u performance li tieħu, u l-aktar diffiċli biex tibdel wara — types dojoq u eżatti jżommu l-indexes żgħar u jwaqqfu data ħażina fil-bieb qabel ma ssir bug fil-produzzjoni.
Librerija ta' mistoqsijiet ta' intervisti tal-IT b'tweġibiet dettaljati — minn Junior sa Senior.
Iddona