重构数据库设计
一、数据表重构说明
为什么要重构?当然是既要保证设计灵活性,还要保证数据库系统高性能。通常我们在设计数据结构时,初期设计虽能满足基本业务逻辑,但如果想要运用到实际的生产环境中,还需要精雕细琢才行!
重构的标准:
(1)拆分大表(字段超过15个以上<视具体的业务而定>);
(2)选择最合适的数据类型;
(3)增加适度的冗余字段;
(4)默认值的考虑。
接下来我们就针对以上这些标准进行分别说明,并通过具体的业务来加深理解:
(1)拆分大表:如果一个表数据字段很多的话(我称之为大表),很可能是设计不当造成的,看看是否满足第二范式;如果这些字段满足第二范式,而且都是必须的,那就考虑对其拆分,
大表拆分的标准:
1)满足最小、最优先功能:比如用户基本信息表,单独抽象出来一个登录基本单元,仅保留最重要的字段,其他字段使用扩展表;
2)拆分后业务不受影响:如果对大表拆分后能保证原有的业务不受影响,那这就是合适的拆分。比如对文章内容的处理,如果文章内容不属于需要查询的范围,那就把文章内容这类“大块头”字段拆分出去;
3)按业务优先级拆分:如果这个业务是可以分步骤进行的,可以参照业务步骤进行拆分。