范式的一点总结

来源:互联网 发布:淘宝前端 编辑:程序博客网 时间:2024/06/13 21:25

前言

大学的数据库课程了学过范式的相关知识,工作后几乎都遗忘了。最近看的一本书涉及到范式,写点东西总结下。

范式的优缺点

范式通常能够带来如下好处:

  • 范式化的更新操作比反范式化更快。
  • 范式化只有很少或者没有重复数据。
  • 范式化的表通常更小,可以更好的放在内存里。

范式化设计出来的schema的缺点是关联问题。复杂的一些查询语句在范式化的scheme上需要更多的关联,这不但代价昂贵,也会使一些索引策略失效。

反范式的优缺点

反范式的优缺点与范式化相反,通常把数据放进一张表里,可以很好的避免关联操作。

单独的表能使用更有效的索引策略。即使表没有使用索引,大部分查询最坏的情况是全表扫描,全表扫描基本上是顺序I/O,这样避免的随机I/O。

混用范式化和反范式化

范式和反范式各有优劣。事实上,完全的范式和反范式schema都是实验室里的东西,在真实工作当中很少会极端的使用它们,在实际应用中通常需要混用。

原创粉丝点击