memory()

阅读(356) 标签: memory,

本章介绍memory()函数的多种用法。

cs.memory(K,…)

描述:

用游标生成内表

语法:

cs.memory(K,…)

备注:

用游标cs生成键为K的内表,参数K省略时,内表将继承游标的键。

参数:

K

键,可省略

cs

游标

选项:

@z

生成压缩内表,节省空间

返回值:

内表

示例:

 

A

 

1

=demo.cursor("select EID,NAME,GENDER,SALARY from EMPLOYEE where EID<10")

返回取数游标

2

=A1.memory(EID)

返回键为EID内表

cs.memory(K,…)

描述:

用集群游标生成集群内表

语法:

cs.memory(K,…)

备注:

用集群游标cs生成和cs一样分布且键为K的集群内表。cs为集群多路游标时,多路按次序加载。

参数:

K

键,可省略

cs

集群游标

返回值:

集群内表

示例:

 

A

 

1

=file("D:/test0.ctx":[2],"169.254.121.62:8281")

打开集群文件

2

=A1.create()

创建集群组表

3

=A2.attach(table)

取出集群附表table

4

=A3.cursor(NAME,GENDER;EID<6)

筛选集群附表tableEID<6NAME,GENDER列后返回成游标

5

=A4.memory(GENDER)

集群游标生成键为GENDER的集群内表

 

memory(h,V)

描述:

使用本地内表拼出集群内表

语法:

memory(h,V)

备注:

用节点机序列h上的本地内表V拼成集群内表,用全局变量代替节点机中的内表。

参数:

h

节点机序列

V

内表全局变量

返回值:

集群内表

示例:

假设在初始化脚本init.dfx中,已通过env(v, data)给全局变量arg1赋值

 

A

 

1

=memory(["192.168.31.72:8281","192.168.31.72:8291"],arg1)

本地内表arg1拼出集群内表

2

=A1.cursor().fetch()

T.memory()

描述:

将压缩内表转成非压缩内表

语法:

T.memory()

备注:

将压缩内表转成非压缩内表

选项:

@z

将非压缩内表转成压缩内表,节省空间

返回值:

内表

示例:

 

A

 

1

=demo.cursor("select EID,NAME,GENDER,SALARY from EMPLOYEE where EID<10")

返回取数游标

2

=A1.memory@z(EID)

返回键为EID的压缩内表

3

=A2.memory()

将压缩内表转换成非压缩内表

4

=A3.memory@z()

将非压缩内表转换成压缩内表

T.memory(C,…;w)

描述:

用实表生成内表

语法:

T.memory(C,…;w)

备注:

将实表T中的数据经过过滤条件w过滤之后读入内存中生成列为C的内表,内表可像序表一样使用当省略C列不省略w过滤条件时, w前面的分号不可省略实表中如果C列带#则生成内表后C列作为T的键。 内表未设置键时可继承实表的键。

参数:

C

列名,可省略,缺省读入全部列

w

过滤条件,缺省不过滤

T

组表的实表

返回值:

内表

示例:

 

A

 

1

=file("D:\\ employees.ctx")

employees为已存在的组表文件

2

=A1.create()

打开组表

3

=A2.attach(t1)

返回组表上已存在的附表t1

4

=A2.memory()

用基表全部列生成内表

5

=A2.memory(EID,Dept,Name;EID<5)

取基表的部分列并筛选出EID<5的数据生成内表

6

=A3.memory()

取附表全部列生成内表

T.memory(C,…;w)

描述:

用集群实表生成集群内表

语法:

T.memory(C,…;w)

备注:

用集群实表T生成集群内表,T必须有维,用来记录分段界值便于寻找;退出时同时清除分机上的内存,超时自动清除。

参数:

C

列名,可省略,省略读入全部列

w

过滤条件,缺省不过滤

T

有维的集群组表的实

返回值:

集群内表对象

示例:

 

A

 

1

=file("emp1.ctx":[1],["192.168.0.116:8281","192.168.0.129:8281"])

打开集群文件

2

=A1.create()

创建集群组表

3

=A2.attach(t1)

取出集群附表t1

4

=A3.memory(NAME,GENDER;EID<5)

通过表t1生成列为NAMEGENDER的集群内表,筛选条件为EID<5