ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL中表的垂直分区

2019-06-30 15:04:05  阅读:137  来源: 互联网

标签:mysql database-design


另一个问题.

在设计阶段垂直分区宽表(在我的实例中我考虑从用户的地址,个人等细节中分割登录详细信息)是否更好?或者更好地保留它并在获得一些数据并进行分析后对其进行分区?

答案似乎是显而易见的但我担心在某个时候将行拆分为一行将意味着重写用户模型的额外工作,从更多静态个人详细信息中拆分经常访问的登录详细信息似乎是合理的.

任何人都有一些经验支持的建议如何继续:)?提前致谢.

解决方法:

过早优化是……

将列拆分到不同的表有缺点:

>某些需要单个查询的操作现在需要两个查询或连接
>强制执行每个表中的每一行需要在另一个表中具有相应的行并非易事.因此,您可能面临完整性问题

另一方面,充其量是可疑的,这样做会提高性能.除非你事先证明它(并创建一个包含随机数据的1000万条记录表并运行一些查询是微不足道的),否则我不会这样做. Doug Kress关于封装和避免SELECT *的建议是正确的方法.

这样做的唯一原因是如果您的单表设计没有规范化,并且规范化意味着分解表.

标签:mysql,database-design
来源: https://codeday.me/bug/20190630/1337625.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有