Re: [问题] 取得 MySQL Data 之结构与效能

楼主: pttworld (批踢踢世界)   2016-08-27 01:25:48
McDonald 劳劳买一送一 中友百货店,高雄大远百店
Starbucks 星八折    花莲店,台北内湖店,屏东垦丁店
Starbucks 星期五折   澎湖店,台北内湖店
1NF
McDonald 劳劳买一送一  中友百货店
McDonald 劳劳买一送一  高雄大远百店
Starbucks 星八折     花莲店
Starbucks 星八折     台北内湖店
Starbucks 星八折     屏东垦丁店
Starbucks 星期五折    澎湖店
Starbucks 星期五折    台北内湖店
2NF
Brand_id Activity_id Store_id
1 McDonald 1 劳劳买一送一 1 中友百货店
1 McDonald 1 劳劳买一送一  2 高雄大远百店
2 Starbucks 2 星八折     3 花莲店
2 Starbucks 2 星八折     4 台北内湖店
2 Starbucks 2 星八折     5 屏东垦丁店
2 Starbucks 3 星期五折    6 澎湖店
2 Starbucks 3 星期五折    4 台北内湖店
3NF
Store_id Brand_id Activity_id
1 1 1
2 1 1
3 2 2
4 2 2
4 2 3
5 2 2
6 2 3
麦当劳的所有活动
Select distinct Activity_id from [3NF Table] where Brand_id = '1';
星巴克星八折有那些店
Select Store_id from [3NF Table] where Brand_id = '2' and Activity_id ='2';
星巴克台北内湖店有那些活动
Select Activity_id from [3NF Table] where Brand_id = '2' and Store_id = '4';
Table
Brand => 手机端
1 McDonald
2 Starbucks
Activity => 两端, App Update
1 劳劳买一送一
2 星八折
3 星期五折
Store => 手机端,APP Update,加Enable字段
1 中友百货店
2 高雄大远百店
3 花莲店
4 台北内湖店
5 屏东垦丁店
6 澎湖店
3NF Table 在Server端维护
※ 引述《aws9527 (Awis)》之铭言:
: 不好意思 请教各位前辈:
: Server 端为 PHP
: Client 端为 Android
: 连线上没有任何问题
: 问题在于资料结构与效能的部分
: 我有寥寥可数的几个 活动
: (例如 麦当当买一送一, 星巴巴八折等等)
: 但有他们全台湾的连锁店资料 (譬如 麦当当 一中店, 中友百货店 ...) 颇多
: 我在初期制作 显示商店列表时
: 把 连锁店 和 活动 资料表合并
: (活动会重复爆多)
: 取得二维 json
: 现在要制作 收藏活动 或 取得活动列表后
: 我就卡关了
: 我是要
: 1. 用循环下去跑
: for ( int i < 连锁店list.size() )
: 取得新的 活动list
: 还是
: 2. 送出新的 http request 直接取得 活动list
: (听大家都说 Android 少用请求?)
: 还是
: 3. 我一开始根本就不该合并
: 在 server 端 就以 活动为主
: 编成三维阵列
: ex: [活动index][商店index][商店meta]
: 不知道哪种做法才好
: 麻烦各位先进了
作者: aws9527 (Awis)   2016-08-28 21:19:00
感谢大大非常详细!抱歉公事繁忙 较晚回复谢谢您的建议!
楼主: pttworld (批踢踢世界)   2016-08-28 22:15:00
如果你是受委托,要询问委托方资料的存放点。
作者: realmeat (真肉)   2016-08-29 12:16:00
好人一个, XD
作者: ripple0129 (perry tsai)   2016-08-29 16:16:00
好心大大帮正规化

Links booklink

Contact Us: admin [ a t ] ucptt.com