📊 Data Types = Performance
Wrong data types hurt performance. Choose the right data types — storage, speed, accuracy. Essential for database design.
📝 Numeric Data Types
# Integer Types
TINYINT → 0 to 255 (1 byte)
SMALLINT → -32,768 to 32,767 (2 bytes)
MEDIUMINT → -8,388,608 to 8,388,607 (3 bytes)
INT → -2.1B to 2.1B (4 bytes)
BIGINT → -9.2B to 9.2B (8 bytes)
# Decimal Types
DECIMAL(10,2) → 10 digits, 2 decimals
NUMERIC(10,2) → Same as DECIMAL
FLOAT → Approximate, 4 bytes
DOUBLE → Approximate, 8 bytes
# When to Use
INT → Ids, counts
BIGINT → Large numbers
DECIMAL(10,2) → Money
FLOAT → Scientific, approximate
# Example
CREATE TABLE orders (
id INT PRIMARY KEY AUTO_INCREMENT,
total_amount DECIMAL(10,2) NOT NULL,
quantity INT NOT NULL,
discount_rate FLOAT
);
🎯 String and Date Types
# String Types
CHAR(n) → Fixed length (1-255)
VARCHAR(n) → Variable length (1-65535)
TEXT → Max 65,535 bytes
MEDIUMTEXT → Max 16,777,215 bytes
LONGTEXT → Max 4,294,967,295 bytes
# Binary Types
BINARY(n) → Fixed binary
VARBINARY(n) → Variable binary
BLOB → Max 65,535 bytes
MEDIUMBLOB → Max 16,777,215 bytes
LONGBLOB → Max 4,294,967,295 bytes
# Date Types
DATE → YYYY-MM-DD
TIME → HH:MM:SS
DATETIME → YYYY-MM-DD HH:MM:SS
TIMESTAMP → Unix timestamp
YEAR → Year (4 digits)
# When to Use
VARCHAR(50) → Short text (names, emails)
VARCHAR(255) → Medium text
TEXT → Long text (articles)
CHAR(1) → Fixed values (gender: 'M','F')
DATETIME → Creation date
TIMESTAMP → Last updated
# Example
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(255) UNIQUE NOT NULL,
bio TEXT,
gender CHAR(1),
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
# Data Type Tips
- Choose the smallest adequate type
- Use VARCHAR over TEXT when possible
- Use DECIMAL for money (avoid FLOAT)
- Use TIMESTAMP for last updated
- Index types affect performance
💡 Data Type Tips
- Choose the smallest adequate type
- Use VARCHAR over TEXT when possible
- Use DECIMAL for money (avoid FLOAT)
- Use TIMESTAMP for last updated
- Index types affect performance
“Choosing right data types is critical. Performance, storage, accuracy. Essential for database design.”
