日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql tags_mysql tags table解决方法

發布時間:2024/9/18 数据库 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql tags_mysql tags table解决方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

mysql tags table

最近在設計一個圖片分享網站。php+mysql。(UTF-8,英文)

允許用戶個性化添加圖片TAG,TAG可以是單詞(festival),也可以是句子(New York Fashion Week),最多提交10個tag,每個tag最長允許80個英文字母。(保存進數據庫時用strtolower()全部轉換成小寫字母)希望可以快速查詢出前十個最熱門的標簽。

計劃如下設計數據表(所有表均為INNOdB)。

users (user_id,user_name,password,register_date,e_mail,e_mail_verify)//用戶表

posts (post_id, user_id, post_text, post_date, post_date, image, thumb)//帖子

comment (comment_id, post_id, user_id, comment_date, comment_date)//評論

upvote (post_id, upvote)//贊

tagname (tagname, tagid) //保存標簽名和標簽號tagname varchar(80), tagid int(6) auto_increase

tags (post_id, tagid) //標簽號和帖子號post_id int(9), tagid int(6)

想請教這樣的設計是否合理?另外以下查詢語句效率如何?可否優化?

查詢帖子:

select * from

(

(

(posts INNER JOIN users ON

users.user_id = posts.user_id)

INNER JOIN tags ON tags.post_id = posts.post_id

)

INNER JOIN tagname ON tagname.tagid = tags.tagid

) where posts.post_id = '1' //查詢編號為1的帖子

查詢最熱門的標簽:

select count(tagid) as Num, tagname

From

tagname where tagname.tagid = tags.tagid

group by tagid

order by tagname.Num desc limit 0,10

謝謝。

------解決方案--------------------

希望可以快速查詢出前十個最熱門的標簽

這個熱門標簽一般變化的速度不是很快 所以沒必要實時去統計

可以每小時統計一次放入一張小表里面 ,用的時候讀小表就可以了

微信 賞一包辣條吧~

支付寶 賞一聽可樂吧~

總結

以上是生活随笔為你收集整理的mysql tags_mysql tags table解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。