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