Teifion
Teifion

Reputation: 110969

Bigger than a char but smaller than a blob

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?

Upvotes: 6

Views: 736

Answers (3)

Jeff Cuscutis
Jeff Cuscutis

Reputation: 11637

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

Go with VARCHAR(500)

Upvotes: 0

GateKiller
GateKiller

Reputation: 75869

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.

Upvotes: 7

Christian Lescuyer
Christian Lescuyer

Reputation: 19253

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).

Upvotes: 2

Related Questions