flex可否实现内存中存储结构化数据,实现快速查找结果集

petit 2010-09-06 10:53:12
有1个表结构数据,是业务关键数据,不会变化的,共1万行记录,每行7个数据

我想把1w行数据在flex初始化时从服务端取出,然后留在flex中,像查表一样方便,方便查询结果集。flex使用什么数据结构存储这些结构化数据呢?如何快速查出结果集?
...全文
134 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
petit 2010-09-06
  • 打赏
  • 举报
回复
我觉得是JSONDecoder的效率问题
有没有处理过1w条以上的json数据啊
petit 2010-09-06
  • 打赏
  • 举报
回复
herowach:能举个例子吗?我每行多条记录,这次查user=abc,下次查city=广州1,能支持这样灵活且快速查询吗
petit 2010-09-06
  • 打赏
  • 举报
回复
[id:1,city:广州,user:abc]
[id:1,city:广州1,user:ef]
[id:1,city:广州2,user:abc]
[id:1,city:广州3,user:ww]
[id:1,city:广州4,user:abc]
[id:1,city:广州5,user:abc]
....(一共一万行记录)
需要快速找出user=abc的子集

是使用object还是arraycollection,是否有方法快速找出子集,而且格式不变呢?
herowach 2010-09-06
  • 打赏
  • 举报
回复
flex中的Object相当于map,是所有类的基类,查询自然也是最快的,你需要做的就是把所有的内容都用
key---value的形式存储,用的时候取相应的key就可以拿到对应的值了,同时key是支持变量的,所以也能动态取值
petit 2010-09-06
  • 打赏
  • 举报
回复
Object查询结果集需要遍历吧,速度会慢吧
herowach 2010-09-06
  • 打赏
  • 举报
回复
Object
水中影子 2010-09-06
  • 打赏
  • 举报
回复
ArrayCollection 虽然没有Array效率高,但 一万多条数据应该没问题
petit 2010-09-06
  • 打赏
  • 举报
回复
我试验了一下,感觉是com.adobe.serializers.json.JSONDecoder的问题
我代码如下:
var rawData:String = String(getSrvResult.lastResult);
Alert.show("获取结果速度可以,1w数据大概2秒");
var decoder:com.adobe.serializers.json.JSONDecoder = new com.adobe.serializers.json.JSONDecoder();
var arr:Object = decoder.decode(rawData);
Alert.show("json的decode很慢,基本等于假死了");
SRV = arr.ROWS as ArrayCollection;
Alert.show("decode假死,这里就无法测试了");
petit 2010-09-06
  • 打赏
  • 举报
回复
我写错了,是有主键的
[id:1,city:广州,user:abc]
[id:2,city:广州1,user:ef]
[id:3,city:广州2,user:abc]
[id:4,city:广州3,user:ww]
[id:5,city:广州4,user:abc]
[id:6,city:广州5,user:abc]
mayuanfei 2010-09-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 petit 的回复:]
[id:1,city:广州,user:abc]
[id:1,city:广州1,user:ef]
[id:1,city:广州2,user:abc]
[id:1,city:广州3,user:ww]
[id:1,city:广州4,user:abc]
[id:1,city:广州5,user:abc]
....(一共一万行记录)
需要快速找出user=abc的子集

是使用object还是……
[/Quote]
你说的这中形式用Object获得Dictionary都不成,因为没有唯一值。
看来只能用数组了。ArrayCollection的性能会比Array慢些。但是至于慢到什么程度没有试验过。
但是1万条记录应该是绝对没有问题的。程序一直无响应可能与这个没有关系,或许是你过滤时的代码有问题。
也有可能是1万数据中有的数据有问题。
petit 2010-09-06
  • 打赏
  • 举报
回复
ArrayCollection的性能是不是很差的?
服务端返回json数组,1万条不到,到了flex端,转换成ArrayCollection,程序一直无响应,把数据减少后,程序就正常。

4,328

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计 Flex
社区管理员
  • Flex
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧