Question

Char's are great because they are fixed size and thus make for a faster table. They are however limited to 255 characters. I want to hold 500 characters but a blob is variable length and that's not what I want.

Is there some way to have a fixed length field of 500 characters in MySQL or am I going to have to use 2 char fields?

Was it helpful?

Solution

I would suggest using a varchar(500). Even though varchar isn't a fixed length, the database should reserve the correct amount of space. You shouldn't notice any performance difference using varchar(500) over 2xchar(255).

You're also probably going to cause extra overhead by joining two char fields together.

OTHER TIPS

I would suggest using a varchar(500)

... if you have MySQL 5.0.3 or higher. In previous versions, VARCHAR was restricted to 255 characters.

Also, CHAR and VARCHAR do not work the same regarding trailing spaces. Be sure to read 10.4.1. The CHAR and VARCHAR Types (this is for MySQL 5.0).

You're worrying too much about internal implementation details. Don't pre-optimize.

Go with VARCHAR(500)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top