排班表依日期只显示星期一到日
分成早上、下午、晚上、大夜(6小时一班)
门口有东、西、南、北
大概如下
星期一(6/16) 星期二(6/17) 星期三(6/18) 星期四(6/19) 星期五(6/20) ....
东门:AAA
早 西门:BBB
上 南门:CCC
北门:DDD
下
午
晚
上
大
夜
我现在的做法是
以循环方式显示架构,在每一个<td></td>之间,以日期及班表时间为条件进行SELECT
每检视一次班表,就要对数据库进行28次(4班*7天)的query
因为接下来有可能要改成2小时一班
这样的话,query次数就会变成84次(12班*7天)
使用者只要按一次refresh,就要84次的query
觉得这样的次数有点多,但想了很久,也没有想到比较好的解决方式
想请问大家,有没有其他比较好的做法呢?
还是说84次,对数据库而言,是一块小蛋糕??
作者: up9cloud (九天) 2014-06-15 11:16:00
84很少,除非你是弄84*connection那就有点多
搞到84次也太夸张,活用group by可以减少次数
是只有1个connection。可以请moon大说详细一点吗?
你可以一次查出来放阵列去对照,就不用一个日期一个班别这样跑sql
MOON大跟chen大的方法都可以减少SELECT的次数
作者:
j87b0003 (I'm 邱老虎)
2014-06-15 21:48:00有考虑过用json的存法吗? 一天只要一笔,不过查询就麻烦
作者:
dlikeayu (太阳拳vs野球拳)
2014-06-15 23:28:00二维array存全部人的班表,要不肥就只存一天最后serialize进db 真要快就用no-sql来处理资料
MOON大,不好意思,我不是很清楚你的意思,我以为文中的班表已经提供足够的资讯了,请问我还需要提供些什么?感谢chen大,我会试看看array的方式。
他是需要你提供资料表吧@@ 不然怎么知道你是怎么存在里
阿你workdate, worktime, location一起GROUP BY不就结了
作者:
alog (A肉哥)
2014-06-16 14:38:00page cache