当前位置: 代码迷 >> PB >> 数据量大,数据窗口以rows as needed 方式 retrieve后,立刻用setfilter(条件),查不到数据?解决方法
  详细解决方案

数据量大,数据窗口以rows as needed 方式 retrieve后,立刻用setfilter(条件),查不到数据?解决方法

热度:604   发布时间:2016-04-29 08:40:44.0
数据量大,数据窗口以rows as needed 方式 retrieve后,立刻用setfilter(条件),查不到数据?
我的数据量有20万
,如果不用ROWS   AS   NEEDED   太慢了.
可是用了ROWS   AS   NEEDED,后立刻用SETFILTER(条件)进行过滤
结果没有数据.

如果去掉ROWS   AS   NEEDED   后用SETFILTER(条件)就有数据.

可是一开始就去掉ROWS   AS   NEEDED   ,RETRIEVE速度太慢.
但是用上ROWS   AS   NEEDED   后,马上SETFILTER()又得不到正确结果.


怎么办?

------解决方案--------------------
如用ROWS AS NEEDED 就不能SETFILTER了

因为ROWS AS NEEDED的话呢,本地数据是不全的!无法全用filter

可以加参数,dw_1.retireve(xxx);

或构造一个有where 条件的SQL语句,
dw_1.setsqlselect(sqlstr)



------解决方案--------------------
楼上的方法可以
如果必须ROWS AS NEEDED
过滤前先做个排序,
setredraw(false)//加速
setsort( '…… ')
sort()
setredraw(true)
然后再过滤
  相关解决方案