|
如果由我們來設(shè)計(jì)主題表和回帖表,通常的做法是如下。

這樣在獲取主題列表時(shí),直接使用分頁算法提取Topics;查看某一帖子時(shí),還需要對(duì)Topics,Posts進(jìn)行jion鏈接。
此種設(shè)計(jì)的缺陷為:
1. Topics表存儲(chǔ)Content的內(nèi)容,其體積將會(huì)很大,對(duì)大體積表進(jìn)行分頁,性能很慢。
2. 顯示Posts內(nèi)容時(shí)將進(jìn)行join操作,損耗性能
而Discuz的做法是進(jìn)行如下設(shè)計(jì)。

將Topics里的Content拆分到Posts中去,同時(shí)Topics的主題帖也作為回帖放置到Posts里面,這樣就解決了上面我們提出的兩個(gè)問題。這是典型的違反數(shù)據(jù)庫設(shè)計(jì)范式以換取更好性能的示例。
php技術(shù):php discuz 主題表和回帖表的設(shè)計(jì),轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。