起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1124|回复: 4

[处理中3] 获取数据会卡死界面

[复制链接]

43

主题

159

帖子

345

积分

中级会员

Rank: 3Rank: 3

积分
345
QQ
发表于 2017-4-18 17:42:55 | 显示全部楼层 |阅读模式
我想实现这样的想法,给baasData设置filter,过滤出某一天的数据,然后refreshData();
然后从过滤后的数据中,按间隔10分钟取一个数据,相当于再从这一天的数据中取出144个数据,这怎么实现。

我之前是这样写的。通过遍历,给baasData设置filter,条件是按某一天的00:00:00到00:10:00,然后refreshData();从中取一个数据,到最后条件是23:50:00到23:59:59,这样遍历144次,取得某一天的144数据。这对于数据库数据少还好,但是数据库数据一大,就不行了,获取数据是会卡死也得不到数据。

我上面的想法也不知道会不会好一点,也不知道能不能实现,求指点一下。
发表于 2017-4-18 18:21:21 | 显示全部楼层
请问你这一天的数据是已经固定不变的了是吗??
是在list里面循环显示数据的吗??   而且分类显示,每10分钟是一个种类型的数据吗??

如果数据量少,可以一次性加载到data组件中,然后通过list的filter实现前端过滤即可!
这样只请求一次服务器!剩下的就是前端过滤运行算了!
http://docs.wex5.com/wex5-ui-question-list-2018/


如果数据量大的话!前端存放数据太多,可能会崩溃,就不能一次性全部查出来了
你可以通过设置baasData的limit属性!表示一次性加载多少条数据(依然可以设置10分钟的条件)  根据时间进行排序  
这样通过分页查询的方式!想看的时候再加载下一页数据,。就不会卡了啊!

分页应该是设置data的 limit组件实现的!!


麻烦 你的需求再说明白些??这些数据是一次性循环查出来的吗??还是一段时间查一次数据??做什么用的??需求先说明白一些



qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

43

主题

159

帖子

345

积分

中级会员

Rank: 3Rank: 3

积分
345
QQ
 楼主| 发表于 2017-4-19 08:53:04 | 显示全部楼层
本帖最后由 hjn090301 于 2017-4-19 09:06 编辑
liangyongfei 发表于 2017-4-18 18:21
请问你这一天的数据是已经固定不变的了是吗??
是在list里面循环显示数据的吗??   而且分类显示,每10分 ...

是一次性循环查出来了。不是list组件循环。我想把获得的数据作为折线图的数据源。
我想做得的是历史记录功能,就是某个设备每天都有数据,而且量还很大。我想根据日期,取它某一天的数据,但一天的数据量也太大,所以想再取这一天的部分数据,作为数据源,显示到折线图上。我之前是这样写的
for(var i=0;i<144;i++){
          baasData.setFilter('filter0',time>mytime+i*600000 and time<mytime+(i+1)*600000);    mytime是某一天的00:00:00的毫秒数
          refreshData();
          var rows=baasData.find([],[]);
          rows[0].val('time'),rows[0].val('value')压如两个数组,把这两个数组作为折线图的数据源。
}
我之前就是这样实现的,baasData数据少还能显示,但是量一大,就读不出来数据卡死了。
回复 支持 反对

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-4-19 10:35:29 | 显示全部楼层
hjn090301 发表于 2017-4-19 08:53
是一次性循环查出来了。不是list组件循环。我想把获得的数据作为折线图的数据源。
我想做得的是历史记录功 ...

请求数据量大的话  网速不好的话是会有点问题的
回复 支持 反对

使用道具 举报

43

主题

159

帖子

345

积分

中级会员

Rank: 3Rank: 3

积分
345
QQ
 楼主| 发表于 2017-4-19 10:56:34 | 显示全部楼层
半导体 发表于 2017-4-19 10:35
请求数据量大的话  网速不好的话是会有点问题的

能不能给一些建设性的意见,
比如:直接过滤出一天的数据,然后从这里面取144个数据,这样会不会好点,效率高点。如果可以,怎么从过滤后的baasData中取啊,通过find([time],[])?但这个time只能是固定的值,不能设置成区间。
如果不行,有没有其他方法啊,大神,求指点一下。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-10-1 21:26 , Processed in 0.058971 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表