![](https://pic002.cnblogs.com/images/2011/303991/2011071111262084.jpg)
基本上能够用到的字段类型就数字及字符型, 其中数字型以: int, tinyint,float为主, 字符以: varchar,text,blog为主. 由于字符类型字段默认是可变值,为此mysql对它失去了检索性能. 就算增加索引,也是加重了i/o压力来实现查询优化. 字符类型选择主要依以下规律:
1: 经常变化的字段用varchar
2: 知道固定长度的用char
3: 尽量用varchar
4: 超过255字节的只能用varchar或者text
5: 能用varchar的地方不用text
char是固定长度的类型, 在日常使用中基本不会采用, 因为的确没有什么值是固定的. 唯一想得到的就是md5值, 可当char与varchar并用时, 系统会自动将char转为varchar, 所以varchar无论如何都会使用,还是全部采用varchar即可, 这类型主要保存255个字节内的无换行信息. 当字符违反规范时, mysql会自动截取对应值入库, 不会产生 warning, text类型则主要用来存取大容量字符, 比如内容, 比如换行信息. blog则用来保存二进制信息, 由于目前mysql仍然比硬盘贵, 也是由于不方便扩展操作, 所以一般很少用blog类型. 这里说说, varchar及text的注意事项.
1: 两个字段都不要选择非空, 即勾选图片中的:not null? phpmysql中的不可为空项. 除了主键,其它字段都有可能为空.
2: 字段尽量用一个默认值.
3: varchar可以做索引, 但text请不要建立索引(这帮不了你的性能优化)
4: 确认你的字符字符编码.