mysql - 大部分数据没有行溢出的text字段是否需要拆表
问题描述
比如一个论坛系统的回帖表,多数情况下这个回帖的内容都是简短的,只有少部分内容长。
而在显示中这个内容字段是常用的,还有必要把这个内容字段单独拆出来吗?
<?phpnamespace KooguaModelEntity;class Reply extends EntityBase{ const STATUS_PENDING = 1; // 待定 const STATUS_APPROVED = 2; // 审通 const STATUS_REJECTED = 3; // 审拒 const STATUS_DELETED = 4; // 删除 /** * 主键编号 * @var integer */ public $id;/** * 回复内容 * @var string */ public $content;/** * 提及用户 * @var string */ public $mentions;/** * 用户编号 * @var integer */ public $userId;/** * 主题编号 * @var integer */ public $topicId;/** * 版块编号 * @var integer */ public $forumId;/** * 置顶标识 * @var integer */ public $sticked;/** * 状态标识 * @var integer */ public $status;/** * 评论计数 * @var integer */ public $commentCount;/** * 关注计数 * @var integer */ public $watchCount;/** * 收藏计数 * @var integer */ public $favoriteCount;/** * 赞同计数 * @var integer */ public $agreeCount; /** * 反对计数 * @var integer */ public $opposeCount;/** * 举报计数 * @var integer */ public $reportCount;/** * 创建时间 * @var integer */ public $createTime; /** * 更新时间 * @var integer */ public $updateTime; public function getSource() {return ’Reply’; } public function beforeCreate() {$this->createTime = time(); } }
问题解答
回答1:个人感觉没必要,从语义上来讲内容属于回帖表比较关键的数据,另外分出来的话,每次需要连表查或者分两次差太麻烦(而且这种基础数据,几乎是100%需要的,如果是额外信息到可以考虑放出来)。
另外如果表太大的话,可以考虑分库分表。
回答2:你可以先把你的表结构,粘贴出来。研究研究,我们在讨论讨论
回答3:规定回帖字数,没有必要拆表。
相关文章:
1. nosql - mongodb 多组数据不固定字段查询问题 [百度党请绕道]2. 如何解决docker宿主机无法访问容器中的服务?3. javascript - 关于微信扫一扫的技术问题4. javascript - 跨域读取网站接口获取数据遭遇堵截5. 微信小程序支持跳转到外部链接网页吗6. HTML5不支持frameset一般怎么解决?7. 无法转换为java.lang.Throwable8. css3 - border-bottom 的长度可否超过盒子的宽度呢?实现如下图效果。(我的书下面的线)9. redis - 究竟是选择微信小程序自带的统计工具还是自己开发一个数据统计的代码?10. javascript - vue-cli项目中,获取微信access_token时遇到的跨域问题
![nosql - mongodb 多组数据不固定字段查询问题 [百度党请绕道]](http://www.haobala.com/attached/image/3.jpg)