扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
Schema的优化和索引 - 范式和非范式1
有很多方法来展现给定的数据。从完全范式到完全的非范式以及介于两者之间。在符合范式的数据库中,每个事实展现一次并且仅仅展现一次而已。相反的,在非范式的数据库,信息重复或者存储在很多的地方。
如果你不熟悉范式,你应该加强学习了。关于范式,你可以通过一些书和网上资源来学习。在这里,我们主要介绍这一章中你应该明白的知识。让我们看看经典的例子,那就是employee,departments,和department heads.
EMPLOYEE DEPARTMENT HEAD
Jones Accounting Jones
Smith Engineering Smith
Brown Accounting Jones
Green Engineering Smith
这种设计问题在于当数据更改的时候,这数据模型就会变得不正常了。如果Brown接管了Accounting部门,我们必须更新多条语句来反映出这个改变,并且这些更新可能还使数据的状态不一致。如果Jones行的HEAD和Brown行的HEAD不同的话,没有方法知道到底那个HEAD是正确的。就像那句老话一样:一个人有两块表,就不会知道准确的时间。更进一步的说,没有员工的时候就不能展现DEPARTMENT.如果我们删除了全部员工,DEPARTMENT的信息也同样的被删除了。为了避免这个问题,我们把这个表分为EMPLOYEE和DEPARTMENT两个实体。结果为两张表:
EMPLOYEE_NAME DEPARTMENT
Jones Accounting
Smith Engineering
Brown Accounting
Green Engineering
DEPARTMENT HEAD
Accounting Jones
Engineering Smith
编缉推荐阅读以下文章
Schema的优化和索引 - 关于存储引擎的简单记录 Schema的优化和索引 - 加速ALTER TABLE Schema的优化和索引 - 索引和表的维护 Schema的优化和索引 - 学习一个索引示例 Schema的优化和索引 - 高性能的索引策略 - 索引和锁 Schema的优化和索引 - 高性能的索引策略 - 冗余和重复的索引 Schema的优化和索引 - 高性能的索引策略 - 压缩索引(Packed Indexes) Schema的优化和索引 - 高性能的索引策略 - 使用索引扫描来进行排序 Schema的优化和索引 - 高性能的索引策略 - 覆盖索引(Covering Indexes) Schema的优化和索引 - 高性能的索引策略 - 聚簇索引(Clustered Indexes)
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者