तुम्ही कधीही साठवाल अशा प्रत्येक value ला अचूकपणे धारण करणारा सर्वात लहान type निवडा. योग्य type disk वाचवतो, indexes लहान करतो, आणि गुपचूप होणारे data corruption टाळतो.
तुम्ही कधीही साठवाल अशा प्रत्येक value ला अचूकपणे धारण करणारा सर्वात लहान type निवडा. योग्य type disk वाचवतो, indexes लहान करतो, आणि गुपचूप होणारे data corruption टाळतो.
INT (4 bytes); BIGINT (8 bytes) फक्त तेव्हाच जेव्हा तुम्ही खरोखर ~2.1 अब्जाच्या पलीकडे जाता.DECIMAL(10,2) — कधीही FLOAT/DOUBLE नाही, जे binary मध्ये round करतात आणि cents गमावतात.VARCHAR(n) (नावे, emails); n ही एक कमाल मर्यादा आहे, storage फक्त तुम्ही वापरता तेवढेच.TEXT (articles) — ते off-page साठवले जाते आणि त्याला default असू शकत नाही; ज्या लहान values वर तुम्ही filter करता त्यांसाठी ते वापरू नका.DATETIME (timezone नाही, 8 bytes) विरुद्ध TIMESTAMP (UTC मध्ये रूपांतरित, 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 विसरणे (positive range दुप्पट करते).Data types हा तुम्ही घेता तो सर्वात स्वस्त correctness आणि performance निर्णय आहे, आणि नंतर बदलायला सर्वात कठीण — अरुंद, अचूक types indexes लहान ठेवतात आणि खराब data production bug होण्याआधीच दारातच थांबवतात.
सविस्तर उत्तरांसह IT मुलाखत प्रश्नांचे ग्रंथालय — Junior पासून Senior पर्यंत.
देणगी द्या