【发布时间】:2010-11-25 15:30:42
【问题描述】:
当从相对未规范化的形式中获取数据库并对其进行规范化时,资源利用率可能会发生什么变化(如果有)?
例如,规范化通常意味着从更少的表中创建更多的表,这意味着数据库现在有更多的表,但其中许多表非常小,允许经常使用的表更好地适应内存。
更多的表也意味着需要更多的连接(可能)来获取抽象出来的数据,因此人们会期望系统需要执行的连接数量增加会产生某种影响。
那么,规范化未规范化的数据库对资源使用有什么影响(即会发生什么变化)?
编辑: 为了添加一些上下文,我有一个现有的(即遗留)数据库,其中包含 300 多个可怕的表。大约 1/2 的数据是 TEXT,另一半是字符字段或整数。没有任何限制。我问的原因主要是为了让其他人相信事情需要改变并且不会降低性能或可维护性,以获得更多信息。不幸的是,我必须说服的人对非规范化数据库的性能优势了解得足够多,因此希望尽可能避免规范化。
【问题讨论】:
-
非常依赖空间的问题,具体取决于您可以看到存储空间下降或上升的数据类型。
-
stackoverflow.com/questions/173726/…中有一篇关于这个主题的非常好的帖子
-
@GmonC - 是的,这是一篇很棒的帖子,但我想知道资源使用情况将如何更改从同一数据库的非规范化版本到规范化版本。
-
你应该看看 Scott Ambler 的书,重构数据库。
标签: sql database database-design resources normalization