3.6.3switch函数

除了findpfind函数之外,switch函数也同样需要根据主键值在序表中查找记录,它也会自动利用主键的索引表来处理。如:

 

A

1

=file("D:/files/txt/PersonnelInfo.btx ")

2

=A1.import@b()

3

=A1.import@b()

4

=demo.query("select * from STATES")

5

=now()

6

>A2.(State=A4.select@1(ABBR:A2.State))

7

=interval@ms(A5,now())

8

=now()

9

>A3.switch(State,A4:ABBR)

10

=interval@ms(A8,now())

A2A3中都是从集文件PersonnelInfo.btx中读取的人员资料,如下:

A4中是州信息表,如下:

A6A9中,将人员资料表中的State字段变换为对应的州信息,不同的是A6中用select@1函数,A9中则使用switch函数。在A7A10中分别计算出两种方法的耗时如下:

 

网格中的程序执行完毕后,A2A3中的值是相同的,如下:

其中State字段已经被转换为了州信息表中对应的记录。

在执行switch前,同样会为序表中对应的字段建立索引表,这里是为A4中州信息表ABBR字段建立索引表,从而提升匹配效率。因此,在生成外键引用的字段时,应该适当选用switch函数。