【发布时间】:2011-01-21 21:34:45
【问题描述】:
我听说过很多关于为提高某些应用程序的性能而进行的非规范化。但我从未尝试做任何相关的事情。
所以,我只是好奇,规范化数据库中的哪些地方会使性能变差,或者换句话说,什么是非规范化原则?
如果我需要提高性能,我该如何使用这种技术?
【问题讨论】:
-
如果您还没有尝试过非规范化,那么我假设您也没有尝试过规范化?如果是这样,下面的答案可以帮助提供基于此的上下文...
-
我开发的所有数据库(最大的有22个表)都是3NF。但是,如果您指的是编写所有属性并通过进一步规范化创建 1NF 的经典过程,那么您是对的,我从未觉得有必要这样做。
-
非规范化有两个原因和不同的方式: 1. 历史 - 真实数据。 2. 速度(更少的连接) - 计算字段/索引。下面的答案模糊了这两种不同的方法。
标签: database performance database-design normalization denormalization