博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库之Schema设计
阅读量:6969 次
发布时间:2019-06-27

本文共 740 字,大约阅读时间需要 2 分钟。

hot3.png

在数据库 Schema 设计理论方面,一直有一个被大家奉为“葵花宝典”的规范化范式理论。通过范式 理论所设计的数据库 Schema 逻辑清晰,关系明确,扩展方便,就连存储的数据量也做到了尽可能的少, 尤其是当范式级别较高的时候,几乎找不到任何的冗余数据。在很多人眼里,数据库 Schema 满足的范式 级别越高则该 Schema 设计的越优秀。 但是,很多人忽略了一点,那就是产生该理论的时期和出发点。关系性数据库的规范化范式理论诞 生于上世纪七十年代初,最根本的目的是让数据库中尽量的去除数据的冗余,保持数据的一致,使数据 的修改简单。 实际上,尽量去除数据的冗余不仅仅是为了让我们查询相同的数据量的时候能够多返回几条记录, 还有一个很重要的原因就是在当时的那个年代,数据的存储空间是及其昂贵的,而且存储设备的容量也 都非常的小,这一点在硬件存储设备发展如此迅速的如今,空间大小已经不再是太大的问题了。 而范式理论中的数据一致性和使数据修改简单保证主要是依靠添在数据库中添加各种约束来保证, 而各种约束对于数据库来说本身其实就是一个非常消耗资源的事情。 所以,对于基于性能的数据库 Schema 设计,我们并不能完全以规范化范式理论来作为唯一的指导。 在设计过程中,应该从实际需求出发,以性能提升为根本目标来展开设计工作,很多时候为了尽可能提 高性能,我们必须做反范式设计。
1、适度冗余 - 让 Query 尽两减少 Join
2、大字段垂直分拆 - summary 表优化 
3、大表水平分拆 - 基于类型的分拆优化 
4、统计表 - 准实时优化 
5、合理的数据类型
6、合理的命名规则

转载于:https://my.oschina.net/xwinie/blog/208912

你可能感兴趣的文章
什么是灰度发布,以及灰度发布A/B测试
查看>>
Spring全家桶系列--SpringBoot与Mybatis结合
查看>>
使用Java SDK实现离线签名
查看>>
VRRP工作原理
查看>>
2019年的财富管理行业将何去何从?
查看>>
J - 最强王者 POJ - 1753 Flip Game 搜索+状态压缩
查看>>
这是一个SSL证书普及的时代
查看>>
C++动态库初探
查看>>
keepalived的搭建
查看>>
URAL 1913 Titan Ruins: Old Generators Are Fine Too
查看>>
Horizon Workspace 快速部署指南三(配置Workspace数据模块)
查看>>
C# 添加Excel水印
查看>>
我的友情链接
查看>>
mysql导出和导入
查看>>
IT软件创业之 -- 电脑设备买过来都是钱,卖出去都是废铁
查看>>
debian的“chkconfig”和“service”
查看>>
敏捷开发
查看>>
"无法启动应用程序,工作组信息文件丢失,或是已被其他用户已独占方式打开"解决办法...
查看>>
MYSQL远程连接授权
查看>>
安装hadoop图文
查看>>