juniorMySQL
Difference between CHAR and VARCHAR
Updated May 4, 2026
Short answer
CHAR is fixed-length; VARCHAR is variable-length.
Deep explanation
CHAR(N) always uses N bytes, padding with spaces. VARCHAR(N) uses only necessary bytes plus a length prefix. CHAR is faster for fixed-length data like MD5 hashes.
Real-world example
Use CHAR(2) for state codes (NY, CA) and VARCHAR for variable user descriptions.
Common mistakes
- Using VARCHAR for 2-character codes, adding unnecessary length-prefix overhead.
Follow-up questions
- What is the max length of VARCHAR?