需求背景
目前主流的部落格系統、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的資料...