INDEX 命令
概念信息
为 Analytics 表创建索引,通过此索引可以按照序列顺序而不是物理顺序来访问记录。
语法
INDEX {<ON> 键域 <D> <...n>|<ON> ALL <EXCLUDE 域名称 <...n>>} TO 文件名 <IF 测试> <WHILE 测试> <FIRST 范围|NEXT 范围> <OPEN> <ISOLOCALE 区域设置代码>
参数
| 名称 | 描述 |
|---|---|
| ON 键域 D <...n> | ON ALL |
要用于索引的一个或多个键域或表达式。 可按任意类型的域进行索引,包括计算域和临时表达式,而无论数据类型是什么。
|
| EXCLUDE 域名称 可选 |
仅在使用 ON ALL 索引时有效。 要从该命令中排除的一个或多个域。EXCLUDE 使您可以通过排除指定的域优化 ON ALL。 EXCLUDE 必须紧跟在 ON ALL 后面。例如: ON ALL EXCLUDE 域 1 域 2 |
| TO 文件名 |
索引和关联的索引文件的名称。创建的索引文件使用 .INX 扩展名。 说明 在 Analytics 用户界面中,索引名称被限制为不超过 64 个字母数字字符。该名称可以包括下划线字符 ( _ ),但不能包括其他特殊字符或任何空格。该名称不能以数字开头。 |
| IF 测试 可选 |
一个条件表达式,它必须为真以便处理每个记录。仅对满足条件的那些记录执行该命令。 说明 在应用任何范围参数(WHILE、FIRST、NEXT)之后,仅针对表中的剩余记录评估 IF 条件。 |
| WHILE 测试 可选 |
一个条件表达式,它必须为真以便处理每个记录。该命令被一直执行到条件的计算结果为假或者到达表的末尾为止。 说明 如果您将 WHILE 与 FIRST 或 NEXT 结合使用,请在达到一个限制时立即记下处理步骤。 |
| FIRST 范围 | NEXT 范围 可选 |
要处理的记录数:
请使用范围指定要处理的记录数。 如果您省略 FIRST 和 NEXT,则会默认处理所有记录。 |
|
OPEN 可选 |
打开该表并向该表应用索引。 |
|
ISOLOCALE 区域设置代码 可选 |
说明 仅在 Unicode 版 Analytics 中可用。 采用语言_国家/地区格式的系统区域设置。例如,要使用加拿大法语,请输入 fr-ca。 使用以下代码:
如果您不使用 ISOLOCALE,则会使用默认系统区域设置。 |
示例
创建索引并打开该表
在 Vendor 表中,按 Vendor City 域创建索引并打开该表:
OPEN Vendor
INDEX ON Vendor_City to "CityIndex" OPEN
创建索引并将其应用于表
在 Vendor 表中,按 Vendor City 域创建索引。稍后,您将该索引应用于表:
OPEN Vendor
INDEX ON Vendor_City to "CityIndex"
.
.
.
SET INDEX TO "CityIndex"
备注
有关此命令工作方式的详细信息,请参见索引记录。
INDEX 命令使用的排序顺序
INDEX 命令使用排序顺序选项(工具 > 选项 > 表)中指定的任何排序顺序。默认排序顺序如下所示。
有关详细信息,请参见“排序顺序”选项和排序顺序。
|
Analytics 版本 |
默认排序顺序 |
关联排序顺序 |
|---|---|---|
|
非 Unicode |
系统默认 (ASCII) |
先是数字,再是大写字母,然后是小写字母: 0, 1, 2... A, B, C... a, b, c... 例如,“Z”排在“a”之前。 |
|
Unicode |
混合语言 (UCA) (Unicode 排序算法) |
先是数字,然后是小写字母和大写字母相互混合: 0, 1, 2... a, A, b, B, c, C... 例如,“a”排在“Z”之前。 |
区分大小写
INDEX 区分大小写。根据您使用的 Analytics 的版本的不同(非 Unicode 或者 Unicode),字符串中的大小写可能影响索引。
如果您不希望大小写影响索引,您可以将 UPPER( ) 函数与 INDEX 结合使用:
INDEX ON UPPER(键域) TO "索引文件"