1. 能短就不要长.(磁盘 I/O 少一些)
比如固定 长度的 CHAR 数据列, 定义 CHAR(40), 而不是 CHAR(255);
比如 MEDIUMINT 代替 BIGINT, 数据表就小一些, 值的处理速度也快一些;
短的索引值也比长的索引值处理起来要快一些,
2. 固定长度的数据列速度较快, 但是占用的空间也较大.
固定长度的 CHAR 会在值的后面添加空格;
CHAR 数据列获取固定长度列的性能优势, 但占用了空间. 如果空间很重要, 那么就使用 VARCHAR 数据列.
3. 把数据列定义 (NOT NULL).
处理速度更快, 存储更少. 简化了查询, 在某些情况下不需要检查值的 NULL 属性;
4. 考虑使用 ENUM 数据列.
如果数据列的基数很低 (例如, 性别男女) ENUM 值可以被更快地处理, 因为它们在内部表现为数值.
来源: http://www.bubuko.com/infodetail-2976837.html