sql – 规范化数据库对资源的影响是什么?
从相对未规范化的形式获取数据库并对其进行规范化时,资源利用率会发生什么变化(如果有的话)?
例如,规范化通常意味着从更少的表创建更多的表,这意味着数据库现在具有更多的表,但是其中许多表非常小,允许经常使用的表更好地适应内存. 更多的表还意味着需要(可能)更多的连接来获取抽象出来的数据,因此可以预期系统需要的更多连接数会产生某种影响. 那么,对未规范化数据库进行规范化会对资源使用产生什么影响(即什么会改变)? 编辑: 解决方法这通常无法以一般方式得到解答,因为影响将根据相关数据库的具体情况和使用它的应用程序而有很大差异.所以你基本上表达了对影响的一般期望: >随着冗余数据被删除,存储的总体内存需求将下降 所以唯一真正的答案是通常的:它取决于;) 注意:这假设我们正在谈论谨慎和有意的非规范化.如果你指的是“随着数据的出现而把一些表放在一起”的方法与没有经验的开发人员共同使用,我会冒这样的说法:规范化将减少所有级别的资源需求;) 编辑:关于cdeszaq添加的具体情况,我会说’祝你好运得到你的观点’;) 显然,有超过300个表并且没有约束(!),你的问题的答案肯定是“正常化将减少所有级别的资源需求”(并且可能非常大),但是: 重构这样的混乱将是一项重大任务.如果只有一个应用程序使用这个数据库,它已经是可怕的 – 如果有很多,它可能会变成一场噩梦! 因此,即使从长远来看,正常化将大大减少资源需求,但根据具体情况,可能不值得.这里的主要问题是关于长期范围 – 这个数据库有多重要,它将被使用多长时间,将来会有更多的应用程序使用它,当前的维护工作是不变还是增加等等…… 不要忽视它是一个正在运行的系统 – 即使它是丑陋和可怕的,根据你的描述,它还没有被打破;-) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- SQLServer2000发布订阅FTP方式
- sqlserver 目录名称无效解决办法
- SQL2005CLR函数扩展-数据导出的实现详解
- sql-server – 带有SQLServer Express的sql azur
- 如何在sqlServer2005中添加Northwind数据库(转)
- sql-server – Amazon EC2 Sql Performance
- sql-server-2012 – 到SQL Server的Flyway连接字
- MySQL中开启和使用通用查询日志的实例教程
- SqlServer数据库sa等sql server身份无法登陆
- 关于SQLServer2005的学习笔记(二)――体系结构