ਉਹ ਸਭ ਤੋਂ ਛੋਟਾ type ਚੁਣੋ ਜੋ ਹਰ ਉਸ ਮੁੱਲ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਰੱਖ ਸਕੇ ਜੋ ਤੁਸੀਂ ਕਦੇ ਵੀ ਸਟੋਰ ਕਰੋਗੇ। ਸਹੀ type disk ਬਚਾਉਂਦਾ ਹੈ, indexes ਨੂੰ ਛੋਟਾ ਕਰਦਾ ਹੈ, ਅਤੇ ਚੁੱਪ-ਚਾਪ ਹੋਣ ਵਾਲੇ ਡੇਟਾ corruption ਨੂੰ ਰੋਕਦਾ ਹੈ।
ਉਹ ਸਭ ਤੋਂ ਛੋਟਾ type ਚੁਣੋ ਜੋ ਹਰ ਉਸ ਮੁੱਲ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਰੱਖ ਸਕੇ ਜੋ ਤੁਸੀਂ ਕਦੇ ਵੀ ਸਟੋਰ ਕਰੋਗੇ। ਸਹੀ type disk ਬਚਾਉਂਦਾ ਹੈ, indexes ਨੂੰ ਛੋਟਾ ਕਰਦਾ ਹੈ, ਅਤੇ ਚੁੱਪ-ਚਾਪ ਹੋਣ ਵਾਲੇ ਡੇਟਾ corruption ਨੂੰ ਰੋਕਦਾ ਹੈ।
INT (4 bytes); BIGINT (8 bytes) ਸਿਰਫ਼ ਉਦੋਂ ਜਦੋਂ ਤੁਸੀਂ ਸੱਚਮੁੱਚ ~2.1 ਬਿਲੀਅਨ ਤੋਂ ਵਧ ਜਾਂਦੇ ਹੋ।DECIMAL(10,2) — ਕਦੇ ਵੀ FLOAT/DOUBLE ਨਹੀਂ, ਜੋ binary ਵਿੱਚ round ਕਰਦੇ ਹਨ ਅਤੇ cents ਗੁਆ ਦਿੰਦੇ ਹਨ।VARCHAR(n); n ਇੱਕ cap ਹੈ, storage ਸਿਰਫ਼ ਉਹੀ ਹੈ ਜੋ ਤੁਸੀਂ ਵਰਤਦੇ ਹੋ।TEXT — ਇਹ off-page ਸਟੋਰ ਹੁੰਦਾ ਹੈ ਅਤੇ ਇਸ ਦਾ ਕੋਈ default ਨਹੀਂ ਹੋ ਸਕਦਾ; ਜਿਨ੍ਹਾਂ ਛੋਟੇ ਮੁੱਲਾਂ ਉੱਤੇ ਤੁਸੀਂ filter ਕਰਦੇ ਹੋ ਉਹਨਾਂ ਲਈ ਇਸ ਨੂੰ ਨਾ ਵਰਤੋ।DATETIME (ਕੋਈ timezone ਨਹੀਂ, 8 bytes) ਬਨਾਮ TIMESTAMP (UTC-converted, 4 bytes, ~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 ਵਰਤਣਾ।VARCHAR(255) — ਵੱਡੇ keys indexes ਨੂੰ ਫੁਲਾ ਦਿੰਦੇ ਹਨ।UNSIGNED ਭੁੱਲ ਜਾਣਾ (ਪੌਜ਼ਿਟਿਵ range ਦੁੱਗਣੀ ਹੋ ਜਾਂਦੀ ਹੈ)।Data types ਸਭ ਤੋਂ ਸਸਤਾ correctness ਅਤੇ performance ਫ਼ੈਸਲਾ ਹੈ ਜੋ ਤੁਸੀਂ ਲੈਂਦੇ ਹੋ, ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਬਦਲਣ ਲਈ ਸਭ ਤੋਂ ਔਖਾ — narrow, exact types indexes ਨੂੰ ਛੋਟਾ ਰੱਖਦੇ ਹਨ ਅਤੇ ਖਰਾਬ ਡੇਟਾ ਨੂੰ ਦਰਵਾਜ਼ੇ 'ਤੇ ਹੀ ਰੋਕ ਦਿੰਦੇ ਹਨ, ਇਸ ਤੋਂ ਪਹਿਲਾਂ ਕਿ ਉਹ ਇੱਕ production bug ਬਣ ਜਾਵੇ।
ਵਿਸਤ੍ਰਿਤ ਜਵਾਬਾਂ ਨਾਲ IT ਇੰਟਰਵਿਊ ਸਵਾਲਾਂ ਦੀ ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ — ਜੂਨੀਅਰ ਤੋਂ ਸੀਨੀਅਰ ਤੱਕ।
ਦਾਨ ਕਰੋ