首页 > 代码库 > MySQL中范式与反范式的优缺点
MySQL中范式与反范式的优缺点
范式化的优点:
范式化更新操作通常比反范式化要快。
当数据较好的范式化时,就只有很少或者没有重复数据,所以,只需要修改更少的数据。
范式化的表通常更小,可以更好地放在内存里,所以执行操作会更快。
很少有多余的数据意味着检索列表数据更少需要distinct或者group by 语句。
范式化的缺点:
范式化设计schema通常需要关联。稍微复杂一些的查询语句在符合范式的schema上都可能需要至少一次关联,也许更多。这样做代价昂贵,也可能使一些索引策略无效。比如,范式化可能将列放在不同的表中,而这些列在同一个表中可以数据同一个索引。
反范式的优点
可以很好地避免关联。
如果不需要关联表,对大部分查询最差情况,即没有使用索引,全表扫描。当数据币内存大时这可能比关联要快很多, 这样避免了随机I/O。
在真实环境中很少会极端地使用范式化或者反范式化的schema。而是可能使用部分范式化的schema、缓存表、以及其它技巧。最常见的反范式化数据的方法是复制或者缓存,在不同的表中存储相同的特定的列。
本文出自 “分享学习” 博客,谢绝转载!
MySQL中范式与反范式的优缺点
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。