同一个商家可能存在多个分店如:
|金夫人婚纱摄影 (丰台区主店)
|-金夫人婚纱摄影 (朝阳区分店)
|-金夫人婚纱摄影 (海淀区分店)
|-金夫人婚纱摄影 (西城区分店)
像这样的商家有很多 主店分店关系的商家
本来打算把每一个店都用一条记录来保存
但是前台商家展示列表页 中 不允许重复品牌名 即不允许出现多个(金夫人婚纱摄影)
当然可以用 group by 来解决, 也不影响用户前台根据分店地区信息查询,
即:select * from shop where area_id='西城区ID' group by masterId;
masterID字段为 主店ID 分店记录中都有主店ID, 主店中也有主店ID.利于统计某个品牌有多少分店
但是group by 的效率比较底下 加上排序的话,更是慢。 请问,像这样的数据库设计,有什么合理的方案?
具体要求:
一个商家可以有多个分店,每个分店可以在不同的城区(朝阳区,海淀区.......)
前台商家列表中可以通过城区来进行筛选, 即(朝阳区,海淀区)筛选页中都会有该商家出现,
但不允许列表页面出商家重复.
如美团 很多商家存在多个分店 不同的城区筛选 都可出现找到,但也不重复!
http://bj.meituan.com/shops/?mtt=hy3ri194
大神求方法,高效率的数据库设计!除了想到group by 还有什么办法!
最佳答案