相关mysql视频教程推荐:《mysql教程》
例如:有三张表,用户表、商品表、订单表,用户表中有字段name,而订单表中也存在字段name。
对于这个字段冗余有好有坏
好:
从用户表、商品表、订单表说起,当我需要查询“订单表”所有数据并且只需要“用户表”的name,一般都可以通过数据库连接(join)查询,
例如“商品表”存在字段-->用户的id,“订单表”存在字段-->商品的id,我可以查询所有订单,通过订单中商品id查询对应商品,然后对应查询用户name,
如果当表多起来时,例如1000张表(“有点夸大了,请谅解”),为了得个用户表中的name,这查询的速度就可想而知了。
这时给订单表加个字段name,则直接查询该订单就完成了需求,简单明了。
不好:
同上,这时候对用户name字段增删改,对应也要对订单表中的字段增删改,这时还要去了解所有表中的冗余字段,以防有些表中的字段没对应修改。
针对这种情况,看需求,如果影响不大,利于开发效率,可适当的增加冗余字段。