What's the difference between VARCHAR and CHAR?
What's the difference between VARCHAR and CHAR in MySQL?
I am trying to store MD5 hashes.
Solution 1:
VARCHAR
is variable-length.
CHAR
is fixed length.
If your content is a fixed size, you'll get better performance with CHAR
.
See the MySQL page on CHAR and VARCHAR Types for a detailed explanation (be sure to also read the comments).
Solution 2:
CHAR
- Used to store character string value of fixed length.
- The maximum no. of characters the data type can hold is 255 characters.
- It's 50% faster than VARCHAR.
- Uses static memory allocation.
VARCHAR
- Used to store variable length alphanumeric data.
- The maximum this data type can hold is up to
- Pre-MySQL 5.0.3: 255 characters.
- Post-MySQL 5.0.3: 65,535 characters shared for the row.
- It's slower than CHAR.
- Uses dynamic memory allocation.