浅谈数据库设计冗余和效率的取舍
2015-09-17 14:28
309 查看
下午开会谈到公司的数据库里面几个基础的表。其中谈到数据库设计的冗余和效率的取舍。
多表关联的时候很容易出现数据的冗余。比如在在食材分类表中有涉及到食材的三级分类信息——三个字段。在商品表中也有食材的三级分类的信息——三个字段。
正常情况下,只需要用商品表中有食材的id关联食材分类表中的id就可以实现多表联机查询,这样是不存在冗余的。
但是,这样的设计会牺牲效率。
在数据量比较大和需求比较强烈(旺盛)的时候,互联网公司往往会选择牺牲一些存储的空间,来换取效率。尤其是在每天有上亿级别的请求的时候,联机查询会很大的损耗数据库服务器。
2015.9.17
多表关联的时候很容易出现数据的冗余。比如在在食材分类表中有涉及到食材的三级分类信息——三个字段。在商品表中也有食材的三级分类的信息——三个字段。
正常情况下,只需要用商品表中有食材的id关联食材分类表中的id就可以实现多表联机查询,这样是不存在冗余的。
但是,这样的设计会牺牲效率。
在数据量比较大和需求比较强烈(旺盛)的时候,互联网公司往往会选择牺牲一些存储的空间,来换取效率。尤其是在每天有上亿级别的请求的时候,联机查询会很大的损耗数据库服务器。
2015.9.17
相关文章推荐
- Oracle dblink创建过程
- 怎样根据字段域查找到其在数据库中关系与属性
- mysql 小知识点备忘(一)
- Navicat for MySQL远程连接的时候报错mysql 1130的解决方法
- Oracle数据库的分页使用
- Oracle中的表构造导出到word Sql语句
- 关于jdbc重点讲解实例--使用jdbc操作数据库上传附件
- 解决MysSql数据库添加数据乱码问题
- 11.2.04 Oracle RAC 目录中 crfclust.bdb文件过大,Bug 20186278
- activiti数据库表结构剖析
- ORACLE日期时间函数大全
- 项目中遇到创建oracle定时任务
- mysql支持跨表delete删除多表记录
- Mysql跨表更新 多表update sql语句总结
- Nagios显示器MySQL一个错误:NRPE: Unable to read output具体的解决过程
- 完整java开发中JDBC连接数据库代码和步骤
- MySQL性能优化的最佳20+条经验
- 专注SQL实现、优化 自定义函数实现NULL值替换
- SQL模糊查询语句和Escape转义字符
- 在Mac OS上安装mongoDB