当前位置: 代码迷 >> PB >> 巨量数据过滤不出来解决方案
  详细解决方案

巨量数据过滤不出来解决方案

热度:50   发布时间:2016-04-29 09:55:27.0
巨量数据过滤不出来
一个SQL表,有两百多万的记录,在DW中FILTER时,根本就过滤不出来,好像是数据库把全部记录都下到本地才进行过滤的,WINDOWS马上就报内存不足,如何解决?让SQL只返回符合条件的记录?

------解决方案--------------------
把过滤的条件写到where中。
可以用getsqlselect()和setsqlselect()
两个函数实现。
------解决方案--------------------
把过滤的条件写到where中。
可以用getsqlselect()和setsqlselect()
两个函数实现。
------解决方案--------------------
通过写SQL语句,把需要的数据读取到DW中就可以了。
------解决方案--------------------
同意用setsqlselect()
------解决方案--------------------
直接MODIFY 数据窗口中WHERE 子句
例如 select * from table where 1=1
只要把 1=1 后面的语句替换或者加入自己想要的过滤条件就 可以了
PB基本的 拼WHERE子句功能
retrieve()带参数功能比较慢的
------解决方案--------------------
把过滤的条件写到where中。
可以用getsqlselect()和setsqlselect()
两个函数实现。

//////////////////////////////////////////////////////

正解
支持

比如简单一些
你的数据窗口的构成SQL语句为
select id,name,sex from rygl
那么查询时
string ls_sql
ls_sql = " select id,name,sex from rygl " + " where id> 100 "
dw_1.setsqlselect(ls_sql) //将新的SQL语句更新数据窗口原先的SQL语句
dw_1.retrieve()
commit;
  相关解决方案