The rule of thumb I use is, if the field is 10 or less characters wide, I use char, for anything bigger, if it will vary in width, I use varchar. That's kind of arbitrary, but it's worked well for me.
As Grant mentioned, worrying about the performance difference between char and varchar is pretty meaningless in most situations. Almost always, you're much better off paying attention to code and data structure, to get better performance. After that, I'd prioritize hardware configuration. Then, maybe, worry about data types. Maybe.
- Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
Property of The Thread
"Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon