mysql - 大部分?jǐn)?shù)據(jù)沒有行溢出的text字段是否需要拆表
問題描述
比如一個(gè)論壇系統(tǒng)的回帖表,多數(shù)情況下這個(gè)回帖的內(nèi)容都是簡(jiǎn)短的,只有少部分內(nèi)容長(zhǎng)。
而在顯示中這個(gè)內(nèi)容字段是常用的,還有必要把這個(gè)內(nèi)容字段單獨(dú)拆出來嗎?
<?phpnamespace KooguaModelEntity;class Reply extends EntityBase{ const STATUS_PENDING = 1; // 待定 const STATUS_APPROVED = 2; // 審?fù)? const STATUS_REJECTED = 3; // 審拒 const STATUS_DELETED = 4; // 刪除 /** * 主鍵編號(hào) * @var integer */ public $id;/** * 回復(fù)內(nèi)容 * @var string */ public $content;/** * 提及用戶 * @var string */ public $mentions;/** * 用戶編號(hào) * @var integer */ public $userId;/** * 主題編號(hào) * @var integer */ public $topicId;/** * 版塊編號(hào) * @var integer */ public $forumId;/** * 置頂標(biāo)識(shí) * @var integer */ public $sticked;/** * 狀態(tài)標(biāo)識(shí) * @var integer */ public $status;/** * 評(píng)論計(jì)數(shù) * @var integer */ public $commentCount;/** * 關(guān)注計(jì)數(shù) * @var integer */ public $watchCount;/** * 收藏計(jì)數(shù) * @var integer */ public $favoriteCount;/** * 贊同計(jì)數(shù) * @var integer */ public $agreeCount; /** * 反對(duì)計(jì)數(shù) * @var integer */ public $opposeCount;/** * 舉報(bào)計(jì)數(shù) * @var integer */ public $reportCount;/** * 創(chuàng)建時(shí)間 * @var integer */ public $createTime; /** * 更新時(shí)間 * @var integer */ public $updateTime; public function getSource() {return ’Reply’; } public function beforeCreate() {$this->createTime = time(); } }
問題解答
回答1:個(gè)人感覺沒必要,從語義上來講內(nèi)容屬于回帖表比較關(guān)鍵的數(shù)據(jù),另外分出來的話,每次需要連表查或者分兩次差太麻煩(而且這種基礎(chǔ)數(shù)據(jù),幾乎是100%需要的,如果是額外信息到可以考慮放出來)。
另外如果表太大的話,可以考慮分庫分表。
回答2:你可以先把你的表結(jié)構(gòu),粘貼出來。研究研究,我們?cè)谟懻撚懻?/p>回答3:
規(guī)定回帖字?jǐn)?shù),沒有必要拆表。
相關(guān)文章:
1. 將SQLServer數(shù)據(jù)同步到MySQL 用什么方法?2. 為什么我ping不通我的docker容器呢???3. android - webview 自定義加載進(jìn)度條4. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.5. numpy - python [:,2][:,None]是什么意思6. javascript - 微信小程序封裝定位問題(封裝異步并可能多次請(qǐng)求)7. 并發(fā)模型 - python將進(jìn)程池放在裝飾器里為什么不生效也沒報(bào)錯(cuò)8. javascript - 微信小程序限制加載個(gè)數(shù)9. javascript - 微信音樂分享10. python 怎樣用pickle保存類的實(shí)例?
