作者kingoface (Vince)
看板PHP
标题[请益] 这两种做法哪种比较快?
时间Mon May 21 16:08:33 2012
问题如下
现在要做个简易的排班表
1.每一个人的每一天的班别写入为一笔资料
人 班 日期
A君 123班 5/1
B君 456班 5/1
A君 456班 5/2
A君 123班 5/3
这种做法,资料库可能有6万笔资料
2.把班别栏位用","分开(用explode判断 日期)
人 班
A君 123班,456班,123班
B君 456班
这样资料数量可能减少为2千笔资料
那这两种做法,在使用者操作的情况下,速度会比较快呢?
感觉会有点像是 资料库搜寻 或是 php程式判断的差别.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.31.200.209
1F:→ chrisQQ:看你搜寻的条件,如果只搜寻人,那当然第二种比较快, 05/21 16:24
2F:→ chrisQQ:但一般来说都会用 1 来设计。 05/21 16:24
3F:→ tyf99:排班会常修改吗? 第二种不利修改 05/21 16:46
4F:→ kingoface:班表算是满长修改的,但是搜寻方面也可以说非常多,所以 05/21 17:32
5F:→ kingoface:想说问问看有没有比较好的做法.我目前是用2. 05/21 17:33
6F:→ chrisQQ:搜寻可以用很多方法优化~ 05/21 18:33
7F:→ dio833:你的班别合并了,那日期栏位也合并了吗?然後依照顺序判断代 05/21 23:20
8F:→ dio833:表的日期吗?这样做好像很惊险 05/21 23:21
9F:→ dio833:今天要查询5/4号456班排的人,可能就搞死自己了 05/21 23:24
10F:→ dio833:我比较推荐用第一种做法,因为省资料量换来的代价太高了 05/21 23:26
11F:推 liaosankai:现在储存介媒技术大跃进,用空间换时间是比较好的 05/22 02:04
12F:→ MOONRAKER:2看起来比较像写log(不常看也几乎不搜寻)的方法。 05/22 12:06
13F:推 carlcarl:1 +1 05/23 00:18
14F:→ shadowjohn:後者这种最多也只拿来分格数字型索引,不会是文字 05/24 08:31
15F:→ shadowjohn:通常会用第一种做法^^ 05/24 08:32