اختر أصغر نوع يستوعب بدقة كل قيمة ستخزّنها على الإطلاق. النوع الصحيح يوفّر مساحة القرص، ويصغّر الفهارس، ويمنع تلف البيانات الصامت.
اختر أصغر نوع يستوعب بدقة كل قيمة ستخزّنها على الإطلاق. النوع الصحيح يوفّر مساحة القرص، ويصغّر الفهارس، ويمنع تلف البيانات الصامت.
INT (4 bytes) لمعظم المعرّفات؛ وBIGINT (8 bytes) فقط عندما تتجاوز فعليًا نحو 2.1 مليار.DECIMAL(10,2) للأموال — لا تستخدم أبدًا FLOAT/DOUBLE، فهي تقرّب في النظام الثنائي وتفقد الكسور.VARCHAR(n) للنص المحدود الطول (الأسماء، عناوين البريد الإلكتروني)؛ والـ n حدّ أقصى، والتخزين بقدر ما تستخدمه فقط.TEXT للكتل الكبيرة (المقالات) — يُخزَّن خارج الصفحة ولا يمكن أن يحمل قيمة افتراضية؛ لا تستخدمه للقيم القصيرة التي تُرشِّح عليها.DATETIME (بلا منطقة زمنية، 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) في كل مكان بحكم العادة — المفاتيح المُفرطة الحجم تضخّم الفهارس.UNSIGNED على المعرّفات/الأعداد التي لا تكون سالبة أبدًا (يضاعف المدى الموجب).أنواع البيانات هي أرخص قرار للصحة والأداء تتخذه، وأصعبه تغييرًا لاحقًا — الأنواع الضيّقة والدقيقة تُبقي الفهارس صغيرة وتوقف البيانات السيئة عند الباب قبل أن تتحوّل إلى خطأ في الإنتاج.
مكتبة من أسئلة مقابلات تقنية المعلومات مع إجابات مفصّلة — من المبتدئ إلى المتقدم.
تبرع