高效的模型设计

 很多人都认为性能是在编写代码的过程中优化出来的,其实这是一个非常大的误区。真正
影响性能的部分多是在设计中就已经产生了,很多时候后期的优化所能带来的改善都只是
解决前期所遗留下来的问题而已,而且能解决的问题通常也比较有限。
  最规范的不一定是最合理的。
 在数据库Schema设计理论方面,一直有一个被大家奉为“葵花宝典”的规范化范式理论。
通过范式理论所设计的数据库Schema逻辑清晰、关系明确、扩展方便,就连存储的数据量
也做到了尽可能的少,尤其是当范式级别较高时,几乎找不到任何的冗余数据库。在很多
人眼里,数据库的Schema满足的范式级别越高则该Schema设计得越优秀。
 但是,很多人忽略了一点,那就是产生该理论的时期和出发点。关系型数据库的规范化范式
理论诞生于20世纪70年代初,最根本的目的是让数据库中尽量去除冗余数据,保持数据的一致,
使数据易于修改。
 实际上,尽量去除冗余的数据不仅是为了让我们在查询相同的数据量时能够多返回几条记录,还有
一个很重要的原因就是在当时的那个年代,数据的存储空间极其昂贵,而且存储设备的容量又非常小
,不过在硬件存储设备发展如此迅速的今天,空间大小已经不再是个大问题了。
 而保证范式理论中的数据一致性和使数据易于修改主要依靠在数据库中添加各种约束,而各种约束
对于数据库来说本身就是一件非常消耗资源的事情。
 所以,对于基于性能的数据库Schema设计,并不能完全以规范化范式理论为唯一的指导,在设计过程
中,应该从实际需求出发,以性能提升为根本目标来展开设计工作,很多时候为了尽可能提高性能,
必须做反范式设计。      

上一篇文章: PHP分页类 下一篇文章: PHPDesigner7.0

关于PHP博客

PHP blogger

博客-致力于分享PHP技术的开发心得, 记录站长生活的点点滴滴,PHP博客采用PHP 面向对象编程+Smarty模板引擎+Mysql数据库 开发(全站纯静态化与伪静态化)
QQ:334192009
电邮:admin@PHPdesigner.org

本站搜索

本站最新文章

博客最近档案

友情链接