想做一个多tag的 系统用MongoDB好还是常规的MySQL好?


我想做一个活动系统,每个活动都有很多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如何查询?

数据库 数据库设计 mongodb

kk193 10 years, 7 months ago

只有一点儿忠告: 别用自己驾驭不了的技术

哪个熟悉,哪个你比较精通,就用哪个。

如果两者都没用过,可以考虑 MongoDB。

ballxx answered 10 years, 7 months ago

Your Answer