冗余字段
2015-10-24 15:26
176 查看
什么是数据冗余? 数据库表的设计一般都要求满足第三范式。每个字段都是不可再拆分的最小单元。 而如果你这样存储数据: 员工表(id,姓名,...),员工亲属表(id,员工姓名,亲属姓名,...) 这里亲属表的员工姓名就是冗余。 下面我再更简单的举个小例子来说明到底什么是数据冗余。 比如有一个学生表hz_student,字段为学号,姓名,电话,住址等。
有一个成绩表,字段有,课程id,学生id,分数等。
如果我们需要查询某个学生某个课程的成绩即获取学生名,课程名,分数字段。就需要2个表连接查询。
首先你要明白连接查询是要耗费资源的。
远没有在一个表快,所以当业务对这种连接查询过多,连接更复杂时,
就会影响查询效率,拖慢响应时间。
所以我们可能在某些表中加入一些字段用来减少表之间的连接。比如 在成绩表中直接加入学号,学生姓名等字段,这就造成数据的冗余。
这样违反了数据库三范式要求,但是执行效率却会快许多。
也就是说有利有弊,关键是看你的需求是什么。
相关文章推荐
- 如何在Mac上面进行AndroidApk反编译
- 杭电1098--f(x)=5*x^13+13*x^5+k*a*x
- 一看就会Android之网格视图GridView的使用及监听
- 从相册获取图片
- Objective-C路成魔【2-Objective-C 规划】
- HDU 4925 Apple Tree
- 类的设计质量
- Java-HttpServlet
- Java-HttpServlet
- C++ 求任意两个矩阵的乘积
- Java-HttpServlet
- python 自动登录网站
- [No00002D] “大学生还不如农民工”背后的“身份教育”困境
- 抽象跟难
- 编写一个标准的strcpy函数
- Tomcat启动时报内存溢出无法正常启动
- js判断ie 火狐 还是chrome浏览器
- 杭电-2546饭卡
- 文字属性--Attributes
- 关于百度优化中减少访问数据库的处理