1.char类型字段会自动删除字符串后面所带的空格,而varchar不会
2.char比varchar快.....
3.myisam 建议 char类型,memory char跟varchar一样,都作为char类型处理;innodb建议 varchar类型
4.optimize table 清理碎片
text碎片产生实例:
create table emp (id tinying(1),content text)engine=myisam; 新建测试表
insert into emp values (1,repeat('www',10000));id为1的插入10000的连续www
insert into emp values (2,repeat('www',10000));id为2的插入10000的连续www
insert into emp values (3,repeat('www',10000));id为3的插入10000的连续www
此时表的数据文件大小为:250K(假设)
delete from emp where id = 3;
此时表的数据大小还是250K,这样就明显造成了空间的浪费
所以这个时候就要祭出碎片清理:optimize table emp;
省下3/1的空间啦啦啦啦啊!
5.所谓合成索引,其实就是将要存储的文本(数据)进行散列,然后用另一个字段存储这些散列值,查找的时候,查找散列值就能找到对应的了
缺点就是只能完全匹配,对于大数据来说,没什么实际意义!!
6.精度要求高的程序,比如货币,则一定要用定点数来描述字段
7.日期时间类型根据最小选择
总结::任何字段类型都以最小的字段模式进行存储即可~