1
mmmage 2016-10-17 16:38:19 +08:00
不要一次全部展示,分页,一页一页的转就行了
|
2
9527ox OP 额,现在是一个部门下这么多人,我分页?这不太现实
|
3
PureDark 2016-10-17 18:49:17 +08:00
你一个界面展示 5w 条数据????
放哪??? |
4
JhZ7z587cYROBgVQ 2016-10-17 18:52:03 +08:00
可不可以这样做:取 5 个 cursor 然后对要取的范围分段,之后再拼接结果,这样子就可以做并发了
|
5
9527ox OP @PureDark 其实非要说界面展示的在一个部门下 5 w 人这样有点钻牛角尖 ,但是目前在做压力测试的时候 就是在一个部门下放置 5 w 的数据量,然后在终端展示的时候就是要展示这些数据
|
6
9527ox OP @jason0916 这不在乎并发的问题,关键在于查询数据的时候 遍历 cursor 这里,经过跟踪都在 mCursorWindow 中获取数据之后遍历 cursor 这个过程 数据量在哪里放着呢,就算分 5 个 cursor 查询也要针对所有的数据包装,而分 5 个 cursor 查询最终 cursor 遍历次数并没有减少 效果不大啊
|
9
neoblackcap 2016-10-17 20:21:25 +08:00
一定是遍历,不能一口气全部读出吗?
|
10
9527ox OP @neoblackcap 不经过 cursor 怎么一口气读?
|
11
neoblackcap 2016-10-17 20:26:48 +08:00
@9527ox 获取了 cursor 对象之后不是应该有 fetchAll 之类的方法吗?是 fetchAll 之类的方法慢?
|
12
9527ox OP @neoblackcap 你确定 sqlite 里面有这个函数?? android 的 sqlite 里面有 ?
|
13
neoblackcap 2016-10-18 17:48:53 +08:00
@9527ox 嗯之前以为是别的语言,今天一看才是 Android ,的确是没有那样的方法,不过会不会遍历并不慢,慢的是你遍历过程中的操作呢?我看到其他的人基本上都是申请一个大的 buffer ,然后不断往里面写数据
|
14
9527ox OP @neoblackcap 这个我跟踪过的 遍历内部过程操作没有耗时
|