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?

More MySQL interview questions

View all →