zoukankan      html  css  js  c++  java
  • 两张表是一对一的关系为什么不直接都放在一张表里面?

    突然就有这么个疑问,两张表是一对一的关系为什么不直接都放在一张表里面?就是为了查询效率吗?

    这个设计的好处是如果只查询一个用户的文章列表会比较快。
    因为用户发的文章内容往往比较大, 但是标题往往会比较短。 如果都放到一个表里, 那么这个表会非常大。 查询大表是比较耗时的。
    而如果单独出来, jforum_posts这个表会比较小,查询起来比较快。
    当然这种设计也不是总是好的。
    如果2个表都非常小,那么放到一张表里避免了一次join, 那么效果要比2个表好。 要具体问题具体分析。
    .为什么要使用两个表来维护一对一关系,为什么不直接将两个表中的字段全都放在一张表里来展示?
    
    如果都放在一张表里,一:不便于管理(包括查询执行速度),二:也就达不到关系型数据库的特性。三:可更好对业务进行事务隔离操作
    .提出这种关系的目的是什么,就是为提高我们数据库查询条件吗? 公司和公司地址,总经理和公司,部门经理和部门 都是一对一 对于小字段小数据量的数据库来说,放到一起无所谓了,但是对于大字段的数据库,要添加删除修改某一个字段,由于数据库大,字段多,数据库找到这个字段耗时久,造成锁表等问题。
    同时分离存储大数据的表时,查询也会节省时间,因为某些框架会映射表里面所有的字段,存在一起查询时会把不需要的字段也映射进来造成耗时过久。
    还有,大数据量的表分离存储对于索引创建,读写分离,分割等操作都有优势。
  • 相关阅读:
    【NOIp模拟赛】种花
    【NOIP模拟赛】质数序列
    【NOIp模拟赛】兔子
    【NOIp模拟赛】圆桌游戏
    【NOIp模拟赛】花
    【洛谷P2345】奶牛集会
    【洛谷P1774】最接近神的人_NOI导刊2010提高(02)
    【洛谷P1495】 曹冲养猪
    【洛谷P1287】 盒子与球
    NOIP2009 Hankson 的趣味题
  • 原文地址:https://www.cnblogs.com/zhuyalong/p/14512184.html
Copyright © 2011-2022 走看看