新手问题 数据处理效率

fengzhilian818 · 2014年06月16日 · 最后由 fengzhilian818 回复于 2014年06月24日 · 2059 次阅读

最近我们开发的应用在更新版本 2.0。将几种类型数据在数据表一个字段存储和查询有点小分歧。我们分歧在于是将该字段的数据查询出来循环并封装成 json 类型再传给前台,还是直接查询出来直接传给前台由前台自己循环取出数据效率更高。希望能在大家在数据处理效率上给与些意见。。。(注:我们后台是用 ruby 而前台是 IOS,应用的名字叫 iCaper)

iOS 应该以减少网络请求大小为优先

肯定是查询出来就封装 json 效率高了,至少要给出一部分比如一页的数据。要前端自己去多次请求,每次要耗一个网络请求,加多一个网络延时,后端又要多开一个进程,前端也显得慢。

#1 楼 @swordray 能否介绍的详细点

#2 楼 @billy 哦,那么把一个字段的数据拆分成三个数据并封装成 json,会不会数据传输也要占用三倍的资源

@fengzhilian818 不太明白你的意思,能否说详细点。

比如 20 条数据,每条 10 字节 既然无论如何前端都需要这数据,那么 10 x 20 = 200 字节是少不了的,当然现实中上还得加上协议的开销(例如 HTTP header)

以下方案: a) API server 直接把数据查询出来循环并封装好,那么前台只要发一个请求,就可以得到全部数据,协议的开销小,对用户来说,响应时间也短 b) 前台自己循环取,那么要发 20 个请求,那么不管是协议导致的额外数据的开销、还是延迟导致的响应时间的增加,还是这 20 个请求对 API Server 的压力,都比方案 a) 要高很多

#5 楼 @billy 假设我在字段 property 里存用户的 name、age、email 信息用逗号分隔。现在是直接将 property 的数据取出来封装成 json 直接返给前台,让前台自己从 property 中循环取出数据。还是将 property 数据循环取出 name、age、email 等封装到 json 再传给前台,这时前台自己可以直接用这些数据。我想问下这两种方式哪种代码执行效率和网络传输效率更高。。。

@fengzhilian818 这个意思我明白啊,就是主贴的意思一样。我和@dorentus都回答了一样的看法,就是后台直接取出适当批量的数据效率会比较 高,无论是处理速度还是网络传输。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号