久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

3種高效的Tags標(biāo)簽系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)方案分享

 instl 2015-06-22

需求背景

目前主流的博客系統(tǒng),、CMS都會(huì)有一個(gè)TAG標(biāo)簽系統(tǒng),,不僅可以讓內(nèi)容鏈接的結(jié)構(gòu)化增強(qiáng),而且可以讓文章根據(jù)Tag來(lái)區(qū)分,。相比傳統(tǒng)老式的Keyword模式,這種Tag模式可以單獨(dú)的設(shè)計(jì)一個(gè)Map的映射表來(lái)增加系統(tǒng)的負(fù)載和查詢的效率,。

數(shù)據(jù)庫(kù)設(shè)計(jì)方案1

此方案分為2個(gè)表:

1.Tag表
2.文章表

Tag表表結(jié)構(gòu):

復(fù)制代碼 代碼如下:

tagid # tag標(biāo)簽的ID
tagname #tag內(nèi)容
num #當(dāng)前Tag的引用個(gè)數(shù)

文章表結(jié)構(gòu):
復(fù)制代碼 代碼如下:

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ù)庫(kù)設(shè)計(jì)方案2

第二種方案使用2個(gè)Tag表,,其中一個(gè)保存Tag信息,,另一個(gè)保存映射信息:

Tag表:

復(fù)制代碼 代碼如下:

tagid # tag標(biāo)簽的ID
tagname #tag內(nèi)容
num #當(dāng)前Tag的引用個(gè)數(shù)

Tagmap表
復(fù)制代碼 代碼如下:

tagid
aid

文章表
復(fù)制代碼 代碼如下:

ID #文章ID
title #文章標(biāo)題
tags #tags列表,多個(gè)以,分割
...

這種形式,,每次發(fā)布內(nèi)容和修改內(nèi)容的時(shí)候 都去更新一下Tag表和 Tagmap表,。

查詢的時(shí)候需要從Tagmap表中查找響應(yīng)的文章ID,然后使用文章ID去查詢具體的文章信息,,因?yàn)槊看尾樵兌际鞘褂盟饕?,所以效率較高,。

數(shù)據(jù)庫(kù)設(shè)計(jì)方案3

前兩種方案都是使用純粹的Mysql來(lái)設(shè)計(jì)的,第三種方案將使用Nosql的魅力來(lái)設(shè)計(jì),。

基本結(jié)構(gòu)同方案2,,只是在Tag表和Tagmap表中使用mongo/redis這樣的nosql數(shù)據(jù)庫(kù)服務(wù)器,這樣可以發(fā)揮nosql數(shù)據(jù)庫(kù)強(qiáng)大的線性查詢能力,。

1) 第一種方式的表結(jié)構(gòu)設(shè)計(jì)與方案2完全相同,,只是數(shù)據(jù)庫(kù)服務(wù)器換了。

2)其他的方案,,當(dāng)然是發(fā)揮Nosql的線性能力來(lái)設(shè)計(jì)存儲(chǔ)的Key了,,尤其是使用redis的時(shí)候,使用的Key的結(jié)構(gòu)可以完美的提高查詢效率

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多