1.char为定长,varchar为变长,空间上后者优于前者,运行效率前者胜于后者。
2.像简单的char(20)和varchar(20)这类 就需要考虑 空间,时间上的效率平衡。
3.tinyint(1)性能优于char(1),char(1)空间上等于tinyint(1),因为char最终将转化为int运行。
4.tinyint一个字节,int四个字节,将列定义为NOT NULL。这样处理更快,所需空间更少。
5.ENUM 列的值可以更快地处理,因为它们在内部是以数值表示的,用于存储多选一字符。
6.SET用于存储多个字符组,运行效率等同于ENUM。
7.字段类型Number,String,Time,0~255表示取值-128~127。
8.tinyint用于存选择数字最优,enum用于存选择字符最优,set用于存组字符最优,chare用于存定长字符最优,数字索引比任何都更快更有效。
9.使用定长列,不使用可变长列。这条准则对被经常修改,从而容易产生碎片的表来说特别重要。
10.如需要存储微信等表情,数据库与字段类型应使用utf-8与utf8mb4_general_ci编码,注意数据库的链接方式应为utf8mb4,若phpmyadmin显示异常,请检查版本是否为阉割版
11.查看数据库编码
SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%'