亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有時候怕加人減人臺頻繁會不會有鎖的問題,比如同時添加多個人到某此活動中?

有時候怕加人減人臺頻繁會不會有鎖的問題,比如同時添加多個人到某此活動中?

牛魔王的故事 2023-05-03 13:09:55
我想做一個活動系統,每個活動都有很多tag, 當然有參加的人數,時間,地點。最近學習了mongodb 感覺如果用mongo會很方便:meeting table:{_id: 42, name: "someName", tags: ["chicken", "parrot", "hovercraft"]}person table:{_id: "[email protected]", name:"LiMing", phone:"1381671537"}person activity table:{_id:56, person: "[email protected]", eventid: 42}每個活動都會有很多人參加。我不知道如果系統大了,特別是參加的多了用mongodb好呢,還是用傳統數據庫mySQL好呢? 還有查詢效率,比如:db.meeting.find({tags:{$in:["tag2", "tag1"]}});這樣高么? 傳統數據庫要用多對多表,不知道傳統查詢速度高還是直接用mongoDB這樣速度快。 本來想設計成一張表,如果活動人很多人參加 比如 person有 200人,會不會降低效率?mongoDB多個表join如何查詢?
查看完整描述

3 回答

?
RISEBY

TA貢獻1856條經驗 獲得超5個贊

只有一點兒忠告:別用自己駕馭不了的技術。

哪個熟悉,哪個你比較精通,就用哪個。

如果兩者都沒用過,可以考慮 MongoDB。


查看完整回答
反對 回復 2023-05-06
?
手掌心

TA貢獻1942條經驗 獲得超3個贊

mongoDB 模型設計最好不像那樣設計,應該像下面

meeting table:
{_id: 42, name: "someName", tags: ["chicken", "parrot", "hovercraft"]}

person table:
{_id: "[email protected]", name:"LiMing", phone:"1381671537"}

person activity table:
{_id:56, person:
{_id: 42, name: "someName", tags: ["chicken", "parrot", "hovercraft"]},
event: {_id: 42, name: "someName", tags: ["chicken", "parrot", "hovercraft"]}
}

并建好對應的索引


查看完整回答
反對 回復 2023-05-06
?
嗶嗶one

TA貢獻1854條經驗 獲得超8個贊

數據量大,要花大力氣搞的話 可以考慮 MySQL 和 Sorl 結合。

數據量不大,完全可以考慮把tag作為一個分類去做,保存在MySQL。

MySQL沒有你想的那么慢。


查看完整回答
反對 回復 2023-05-06
  • 3 回答
  • 0 關注
  • 324 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號