MySQL数据库设计时需要注意哪些问题

1、永远为表设定一个自增主键ID,并尽可能的利用此ID进行构造;

2、尽可能的使用ENUM,比如性别,属相等,因ENUM是保存为tinyint;

3、尽可能的使用not null,除非业务需要使用null;

4、尽量使用短的字符类型;

5、尽量使用固长的字符类型,当表中所有的字段都是固定长度,DB 会认为表是static类型,如果有固定长度和非固定长度的字段尽量采用垂直分割,将表分割。

静态类型的表有以下特点:

a、非常快,由于是固定长度,DB很容易计算出下行的偏移量,所以读取速度会很快,如果不是固定长度,要找到下行数据必须找到主键(这也是主键使用自增ID的重要的原因)

b、容易缓存

c、崩溃后容易重建,因为行是在固定位置

d、比变长需要更多的磁盘空间

e、一般不用优化,除非删除了大量数据,采用optimize table 进> 行优化

6、数据量很大的时候,可以将一张表的数据分发到小表中去,以提高插入,查询的效率(比如原始数据的汇集);

7、MYISAM 适合用在业务量小,更新操作不频繁且不需要事务的应用;

8、INNODB 使用在更新操作频繁,需要事务的应用。

发布了150 篇原创文章 · 获赞 280 · 访问量 32万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 黑客帝国 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览