Zgjidh tipin më të vogël që mban saktë çdo vlerë që do të ruash ndonjëherë. Tipi i duhur kursen disk, zvogëlon indekset dhe parandalon korruptimin e heshtur të të dhënave.
Zgjidh tipin më të vogël që mban saktë çdo vlerë që do të ruash ndonjëherë. Tipi i duhur kursen disk, zvogëlon indekset dhe parandalon korruptimin e heshtur të të dhënave.
INT (4 byte) për shumicën e id-ve; BIGINT (8 byte) vetëm kur me të vërtetë e kalon kufirin ~2.1 miliardë.DECIMAL(10,2) për para — kurrë FLOAT/DOUBLE, që rrumbullakosin në binar dhe humbin centët.VARCHAR(n) për tekst të kufizuar (emra, email); n është një kufi, ruajtja është vetëm sa përdor.TEXT për blob-e të mëdha (artikuj) — ruhet off-page dhe nuk mund të ketë default; mos e përdor për vlera të shkurtra që i filtron.DATETIME (pa timezone, 8 byte) kundrejt TIMESTAMP (i konvertuar në UTC, 4 byte, kufi ~2038).CREATE TABLE payments (
id BIGINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
amount DECIMAL(10,2) NOT NULL, -- para të sakta, jo FLOAT
currency CHAR(3) NOT NULL, -- gjithmonë 3 karaktere -> CHAR fikse
note VARCHAR(255), -- e kufizuar, e indeksueshme
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);
-- Kurth: SQL mode i parazgjedhur i refuzon vlerat e këqija (mirë) --
INSERT INTO payments (amount) VALUES ('abc'); -- ERROR 1366, jo heshturazi 0
FLOAT për para.VARCHAR(255) kudo nga zakoni — çelësat e mbipërmasuar fryjnë indekset.UNSIGNED te id-të/numëruesit që s'janë kurrë negativë (dyfishon rangun pozitiv).Data types janë vendimi më i lirë për korrektësi dhe performancë që merr, dhe më i vështiri për t'u ndryshuar më vonë — tipe të ngushta dhe të sakta i mbajnë indekset të vegjël dhe i ndalin të dhënat e këqija te dera para se të bëhen një bug në production.
Një bibliotekë pyetjesh intervistash IT me përgjigje të detajuara — nga Junior te Senior.
Dhuro