वह सबसे छोटा type चुनें जो हर उस value को सही ढंग से रख सके जिसे आप कभी store करेंगे। सही type disk बचाता है, indexes को छोटा करता है, और मौन data corruption को रोकता है।
वह सबसे छोटा type चुनें जो हर उस value को सही ढंग से रख सके जिसे आप कभी store करेंगे। सही type disk बचाता है, indexes को छोटा करता है, और मौन data corruption को रोकता है।
INT (4 bytes); BIGINT (8 bytes) केवल तभी जब आप सचमुच ~2.1 अरब से आगे बढ़ें।DECIMAL(10,2) — कभी भी FLOAT/DOUBLE नहीं, जो binary में round करते हैं और cents खो देते हैं।VARCHAR(n); n एक ऊपरी सीमा है, storage केवल उतना ही होता है जितना आप उपयोग करते हैं।TEXT — यह off-page store होता है और इसका कोई default नहीं हो सकता; इसे उन छोटे values के लिए उपयोग न करें जिन पर आप 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 भूल जाना जो कभी negative नहीं होते (positive range को दोगुना करता है)।Data types सबसे सस्ता correctness और performance निर्णय है जो आप लेते हैं, और बाद में बदलना सबसे कठिन — संकीर्ण, सटीक types indexes को छोटा रखते हैं और खराब data को production bug बनने से पहले ही दरवाज़े पर रोक देते हैं।
विस्तृत उत्तरों के साथ IT इंटरव्यू प्रश्नों की एक लाइब्रेरी — जूनियर से सीनियर तक।
दान करें