Fer*_*gus 33 performance normalization learning
我在数据库中有相当数量的数据。我有格式良好的表格和它们之间的良好关系,我的数据中有一些冗余。但是我应该在规范化方面走多远?过多的标准化是否存在性能缺陷?
jco*_*and 40
你应该尽可能地走得更远,而不是更远。当然。~ 问题可能是这有点艺术,这就是为什么这不是一门纯科学。
我们的主要产品是一个分析和报告系统,所以在这方面,我们有很多详细的记录。我们最初为一些子记录设计了在一个公共 ID 上有很多连接,但我们发现如果我们对几个字段进行非规范化,我们可以减少很多连接,我们可以消除很多性能问题。
但我们只知道,因为我们 1) 创建了一个“规范化”设计,2) 开始使用它,3) 在数十个表中的数亿行后分析实际性能。
最终的故事是,在我们分析之前,我们无法确定什么对我们有用。我们喜欢标准化的想法,这样我们就可以更轻松地更新,但最终实际性能是决定性因素。这是我给你的建议:个人资料,个人资料,个人资料。
REW*_*REW 10
只有当规范化支持您的数据模型足以保证它时,它才是一个目标。它旨在成为允许增长、管理和可维护性的指南。请记住,无论是关于规范化的书还是它的作者,都不会构建或维护您的数据库或其应用程序。
而且,是的,过多的标准化可能会对性能产生影响。这将是更深入的表遍历,以在将状态指示器表拉出到单独的表时拾取它们。有人会说这通常在更新速度(将状态文本从“良好”更改为“良好”或类似内容)或可维护性方面被否定。
我建议阅读Chris Date近期出版的几本书中的以下附录:
规范化远非灵丹妙药,通过考虑它的目标是什么以及它对这些目标的衡量程度,我们可以很容易地看出……
我必须明确表示,我不希望我在本节中的评论被视为任何形式的攻击。我坚信,任何不完全标准化的设计都是强烈禁忌的......
| 归档时间: |
|
| 查看次数: |
8759 次 |
| 最近记录: |