标签:数字类型 nod 字符集 arc 保留 建立 null left join 计数
设计数据表的时候要遵守三范式,但是不要严格遵守。可以适度打破范式。
一个表字段不适合过多。
常用表中只要保留常用的字段
尽量给每个字段添加NOT NULL
根据表的特点来选择合适的表引擎, 如果这个表经常被写,应该选择innodb,但是MySQL5.6一般都是选择innodb
根据表存放的数据来决定字符集,一般选择utf8,但是如果想要存放emoji表情,就应该选择utf8mb4
尽量选择更加小的数据类型,但是考虑扩展性
减少使用文本类型(text)
不要使用*,尽量支查需要的字段。原因:可以减少传输数据的大小
尽量根据索引来检索数据
尽量减少在MySQL中使用内置函数,减少在MySQL中进行运算
减少多表联查,可以适度冗余字段。 也可以通过切分多表联查语句,将多表联查变成单表查询
不要在核心业务的代码中使用子查询
给经常作为where/order by/left join on/distinct字段添加索引
合理添加联合索引
建立联合索引时,区分度大的字段放到前面
or前后的字段都必须有索引
不要使用like,因为like会导致索引失效。 比如可以用全文搜索引擎会替换like,比如sphinx/xunsearch
标签:数字类型 nod 字符集 arc 保留 建立 null left join 计数
原文地址:http://www.cnblogs.com/yayaa/p/7753511.html