এমন সবচেয়ে ছোট type বেছে নিন যা সঠিকভাবে প্রতিটি মান ধারণ করে যা আপনি কখনো সংরক্ষণ করবেন। সঠিক type disk বাঁচায়, index ছোট করে, এবং নীরব data corruption প্রতিরোধ করে।
এমন সবচেয়ে ছোট type বেছে নিন যা সঠিকভাবে প্রতিটি মান ধারণ করে যা আপনি কখনো সংরক্ষণ করবেন। সঠিক type disk বাঁচায়, index ছোট করে, এবং নীরব data corruption প্রতিরোধ করে।
INT (4 bytes); BIGINT (8 bytes) কেবল তখনই যখন আপনি সত্যিই ~2.1 বিলিয়ন ছাড়িয়ে যান।DECIMAL(10,2) — কখনোই FLOAT/DOUBLE নয়, যা binary-তে round করে এবং cent হারায়।VARCHAR(n); n হলো একটি সীমা, storage কেবল যতটুকু আপনি ব্যবহার করেন।TEXT — এটি off-page সংরক্ষিত হয় এবং কোনো default থাকতে পারে না; আপনি যে ছোট মানগুলোর উপর 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) — অতিরিক্ত বড় key index ফুলিয়ে দেয়।UNSIGNED ভুলে যাওয়া (positive range দ্বিগুণ করে)।Data type হলো সবচেয়ে সস্তা correctness ও performance সিদ্ধান্ত যা আপনি নেন, এবং পরে পরিবর্তন করা সবচেয়ে কঠিন — সংকীর্ণ, নির্ভুল type index ছোট রাখে এবং খারাপ ডেটা production bug হওয়ার আগেই দরজায় থামিয়ে দেয়।
বিস্তারিত উত্তরসহ IT ইন্টারভিউ প্রশ্নের একটি লাইব্রেরি — জুনিয়র থেকে সিনিয়র পর্যন্ত।
দান করুন