反范式化的一些准则

     在商业环境中,绝大多数超越第3范式的设计都是不切实际的。因为应用程序在3NF级别就能变现的相当出色。我们上述的很多例子,将指向箭头反过来就是先了反范式化。所以我们要对整体的结构有个比较深的认识,才确定我们是否范式话或者反范式化,范式化越深的东西越导致表的增多,也就意味着查询的join开销。
     总结一下反范式化的一些准则:
     分离活动和静态的数据,数据可分为独立的物理表,即
      活动和静态表。那些累计的历史数据导致我们占据了绝大多数的空间。这是影响性能的最经常的数据,在数据仓库设计中,我们经常将无效的静态的数据移植到数据仓库中,由于OLAP和数据挖掘。
     在表之间复制字段,在那些不是直接有链接表的之间复制字段,使得我们不必每次进行查询都要通过第3方表,越少的join操作,使得性能的大幅度提升。
     在夫表中建立统计字段,这样可以减去消耗大的聚合操作,但是实时更新会给我们带来另外的麻烦。
     分离繁重和轻松的字段,就像把活动和静态的数据数据表分离一样,这个避免持续物理扫描很少使用的数据字段,尤其是当这些字段不包含空值。这是一个潜在的合理利用4NF在分离表格分为两个表格,相关的一对一关系。
posted @ 2009-11-29 22:54  yuhe7919  阅读(802)  评论(0编辑  收藏  举报
我的应用测试