T.keys@i(Ki,…;n)

阅读(669) 标签: 主键, 哈希索引, 排号索引,

描述:

对序表/内表设置主键的同时创建索引。

语法:

T.keys@i(Ki,…;n)

备注:

序表/内表T设置主键Ki,...的同时创建索引。

只有@i选项时,创建哈希索引。

参数:

Ki

键名,可以有一个或多个,参数Ki,…为空时删掉T所有的键。

T

序表/内表。

n

哈希表的大小,大于1的整数,缺省为表长。有参数n时无法创建排号索引。

选项:

@s

为排号键类型的主键创建排号索引,使用该选项时应省略参数n

@m

并行建立索引。

@t

设置最后一个Ki参数为时间键,并用时间键创建索引。

@n

创建序号索引。

返回值:

序表/内表

示例:

为序表设置键并创建哈希索引:  

 

A

 

1

=demo.query("select EID,NAME,DEPT,SALARY from EMPLOYEE")

 

2

=A1.keys@i(EID,DEPT;5)

设置A1序表的主键为EID,DEPT,并且创建哈希索引,哈希表大小为5

3

=A1.keys@im(EID,NAME)

并行建立索引。

为内表设置键并创建哈希索引:

 

A

 

1

=demo.cursor("select EID,NAME,DEPT,SALARY,HIREDATE from EMPLOYEE").memory()

 

2

=A1.keys@i(EID,DEPT;5)

设置A1内表的主键为EID,DEPT,并且创建哈希索引,哈希表大小为5

3

=A1.keys@im(EID,NAME)

并行建立索引。

创建其他类型的索引:

 

A

 

1

=demo.query("select EID,NAME,DEPT,SALARY,HIREDATE from EMPLOYEE")

 

2

=A1.keys@in(EID)

设置序表A1的键为EID,并创建序号索引。

3

=A1.keys@it(EID,HIREDATE)

设置序表A1的基本键为EID,时间键为HIREDATE,用时间键创建索引。

4

=A1.keys()

参数为空,删除序表A1的所有键。

5

=A1.derive(k(EID:3):PID)

在序表中增加一个排号类型的字段。

6

=A5.keys@is(PID)

设置序表A5的键为PID,并创建排号索引。