3種高效的Tags標籤系統資料庫設計方案分享

2022-10-06 01:45:12 字數 1272 閱讀 1983

需求背景

目前主流的部落格系統、cms都會有乙個tag標籤系統,不僅可以讓內容鏈結的結構化增強,而且可以讓文章根據tag來區分。相比傳統老式的keyword模程式設計客棧式,這種tag模式可以單獨的設計乙個map的對映表來增加系統的負載和查詢的效率。

資料庫設計方案1

此方案分為2個表:

1.tag表

2.文章表

hhmqgqbhtag表表結構:

複製** **如下:

tagid # tag標籤的id

tagname #tag內容

num #當前tag的引用個數

文章表結構:

複製** **如下:

id #文章id

title #文章標題

tags #tags列表,多個以,分割

tagid #tags的id 多個以,分割

...此種方式tag標籤主要內容儲存在 文章表 中,對於tag表的壓力較小,只是新增的時候更新一下tag的引用數量,但是查詢的時候效率不足,不是好辦法

資料庫設計方案2

第二種方案使用2個tag表,其中乙個儲存tag資訊程式設計客棧,另乙個儲存對映資訊:

tag表:

複製** **如下:

tagid # tag標籤的id

tagname #tag內容

num #當前tag的引用個數

tagmap表

複製** **如下:

tagid

aid文章表

複製** **如下:

id #文章id

title #文章標題

tags #tags程式設計客棧列表,多個以,分割

...這種形式,每次發布內容和修改內容的時候 都去更新一下tag表和 tagmap表。

查詢的時候需要從tagmap表中查詢響應的文章id,然後使用文章id去查詢具體的文章資訊,因為每次查詢都是使用索引,所以效率較高。

資料庫設計方案3

前兩種方案hhmqgqbh都是使用純粹的mysql來設計的,第三種方案將使用nosql的魅力來設計。

基本結構同方案2,只是在tag表和tagmap表中使用mongo/redis這樣的nosql資料庫伺服器,這樣可以發揮nosql資料庫強大的線性查詢能力。

1) 第一種方式的表結構設計與方案2完全相同,只是資料庫伺服器換了。

2)其他的方案,當然是發揮nosql的線性能力來設計儲存的key了,尤其是使用redis的時候,使用的key的結構可以完美的提高查詢效率

本文標題: 3種高效的tags標籤系統資料庫設計方案分享

本文位址:

資料不會消失的標籤 標籤系統的理解

在大資料時代,資料在呈現出海量化 多樣化和價值化的,如何在海量的資料中獲取並篩選有價值的資訊,是所有的企業所面臨的一大挑戰。而為了應對上述挑戰的有效解決方案,是通過構建使用者標籤,支撐企業服務。如何去設計乙個完善的使用者標籤體系?怎麼打標籤?打哪些標籤?誰來打?怎麼使用使用者標籤建立商業價值?這些都...

bean標籤及其例項化的3種方式

springmvc學習記錄文章目錄 1 程式的耦合和解耦思路 2 使用springioc解決程式耦合的前期準備 4 bean標籤及其例項化的3種方式 5 bean的作用範圍和生命週期 6 spring的依賴注入 7 基於註解的ioc環境搭建 8 基於註解的ioc 常用註解 spring2.5規範 9...

資料同步的3種方式

一 軟體同步 在大多數要求不高的情況下,軟體同步主要是依靠作業系統對獲取的資料打時間戳,根據時間戳進行資料的同步和融合。優點 實現比較簡單,不需要修改雷射雷達的驅動,能相容不同的硬體及平台,軟硬體的工作量相對較小。缺點 軟體同步打時間戳的時刻實際是資料到達驅動層或系統排程時刻,由於雷達和imu的資料...