2022-07-02 分類: 網(wǎng)站建設(shè)
以下是成都網(wǎng)站優(yōu)化工作中,三種高效的Tags標(biāo)簽系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)方案。
需求背景
目前主流的博客系統(tǒng)、CMS都會(huì)有一個(gè)TAG標(biāo)簽系統(tǒng),不僅可以讓內(nèi)容鏈接的結(jié)構(gòu)化增強(qiáng),而且可以讓文章根據(jù)Tag來區(qū)分。相比傳統(tǒng)老式的Keyword模式,這種Tag模式可以單獨(dú)的設(shè)計(jì)一個(gè)Map的映射表來增加系統(tǒng)的負(fù)載和查詢的效率。
數(shù)據(jù)庫設(shè)計(jì)方案(1)
此方案分為2個(gè)表:
1.Tag表
2.文章表
Tag表表結(jié)構(gòu):代碼如下:
tagid # tag標(biāo)簽的IDtagname #tag內(nèi)容num #當(dāng)前Tag的引用個(gè)數(shù)
文章表結(jié)構(gòu):代碼如下:
ID #文章ID
title #文章標(biāo)題tags #tags列表,多個(gè)以,分割tagid #tags的ID 多個(gè)以,分割...
此種方式Tag標(biāo)簽主要內(nèi)容保存在 文章表 中,對(duì)于Tag表的壓力較小,只是添加的時(shí)候更新一下Tag的引用數(shù)量,但是查詢的時(shí)候效率不足,不是好辦法
數(shù)據(jù)庫設(shè)計(jì)方案(2)
第二種方案使用2個(gè)Tag表,其中一個(gè)保存Tag信息,另一個(gè)保存映射信息:
Tag表:代碼如下:
tagid # tag標(biāo)簽的IDtagname #tag內(nèi)容num #當(dāng)前Tag的引用個(gè)數(shù)
Tagmap表代碼如下:
tagidaid
文章表代碼如下:
ID #文章IDtitle #文章標(biāo)題tags #tags列表,多個(gè)以,分割...
這種形式,每次發(fā)布內(nèi)容和修改內(nèi)容的時(shí)候 都去更新一下Tag表和 Tagmap表。
查詢的時(shí)候需要從Tagmap表中查找響應(yīng)的文章ID,然后使用文章ID去查詢具體的文章信息,因?yàn)槊看尾樵兌际鞘褂盟饕?,所以效率較高。
數(shù)據(jù)庫設(shè)計(jì)方案(3)
前兩種方案都是使用純粹的Mysql來設(shè)計(jì)的,第三種方案將使用Nosql的魅力來設(shè)計(jì)。
基本結(jié)構(gòu)同方案2,只是在Tag表和Tagmap表中使用mongo/redis這樣的nosql數(shù)據(jù)庫服務(wù)器,這樣可以發(fā)揮nosql數(shù)據(jù)庫強(qiáng)大的線性查詢能力。
1) 第一種方式的表結(jié)構(gòu)設(shè)計(jì)與方案2完全相同,只是數(shù)據(jù)庫服務(wù)器換了。
2)其他的方案,當(dāng)然是發(fā)揮Nosql的線性能力來設(shè)計(jì)存儲(chǔ)的Key了,尤其是使用redis的時(shí)候,使用的Key的結(jié)構(gòu)可以好的提高查詢效率
以上就是我們對(duì)成都網(wǎng)站優(yōu)化的一點(diǎn)經(jīng)驗(yàn)分享。
本文題目:成都網(wǎng)站優(yōu)化工作中,三種高效的Tags標(biāo)簽系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)方案
當(dāng)前網(wǎng)址:http://jinyejixie.com/news/173857.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、網(wǎng)站改版、網(wǎng)站導(dǎo)航、微信公眾號(hào)、Google、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容