.sortx 和 pjoin 之间是否有关系,为什么 sortx 会影响 pjoin 的结果集, 大数据文件内存溢出如何处理
1、有 A,B 两个游标都是百万数据量左右;
Acursor=DBbsae.cursor(sql)
Bsursor=file.cursor
A.sortx 后再次 pjoin 成功关联到上百万的数据;
如果 A 不 sortx 则关联到只有几万条数据;
2、现在 spl 脚本中读取 3 个文件,其中有 8G 左右大小的文件,pjoin()\groupx()、id()、srotx() 时经常内存溢出应该如何优化啊
两个游标的 pjoin 是有序连接,要求两个游标的数据按关连字段都有序,如果数据无序又调用 pjoin 则会得到错误的结果。
百万的数据量不算大,可以尝试一下把维表读成内存序表然后调用游标和序表的关连运算,这时就不要求两个表按关连字段有序了。
cs.sortx(x…;n) 如果碰到内存溢出可以给出 n 参数,n 为每次读入内存进行排序的记录数量,如果没有给定 n 值,程序会根据内存自动判断,有时因为 jvm 内存太小自动判断的值会导致内存溢出。