第五十三章 索引关键字 - PrimaryKey
指定此索引是否定义表的主键。
用法
要指定该表的主键由该索引所基于的属性构成,请使用以下语法:
Index name On property_expression_list [ PrimaryKey ];
否则,省略此关键字或将单词Not
放在关键字的前面。
详解
此关键字指定应通过SQL将此索引报告为此类(表)的主键。
PrimaryKey
索引的行为也类似于唯一索引。
也就是说,对于在此索引中使用的属性(或属性组合),InterSystems IRIS强制唯一性。
在这个索引定义中,允许将Unique
关键字指定为true
,但这是多余的。
示例
Index EmpIDX On EmployeeID [ PrimaryKey] ;
默认
如果忽略此关键字,则该表的主键不是由索引所基于的属性构成的。
第五十四章 索引关键字 - ShardKey
指定这个类的分片键。
用法
在分片类完全实现之前,InterSystems建议从SQL
创建分片表,而不是从对象端。
但是,如果你查看一个通过创建一个分片表生成的类,你可能会看到如下代码:
/// ShardKey分片表索引,由DDL CREATE table语句自动生成
Index ShardKey On DeptNum [ Abstract, CoshardWith = User.Department, ShardKey, SqlName = %ShardKey ];
在本例中,DeptNum
属性是当前类的分片键。
第五十五章 索引关键字 - SqlName
指定索引的SQL别名。
用法
当通过SQL
引用该索引时,要覆盖该索引的默认名称,使用以下语法:
Index name On property_expression_list [ SqlName = sqlindexname];
其中sqlindexname
是一个SQL
标识符。
详解
当通过SQL
引用该关键字时,可以为该索引定义一个替代名称。
默认
如果忽略此关键字,则索引的SQL名称为索引定义中给定的indexname
。
第五十六章 索引关键字 - Type
指定索引的类型。
用法
要指定索引的类型,请使用以下语法:
Index name On property_expression_list [ Type = indextype ];
其中indextype
是下列类型之一:
-
bitmap
— 位图索引 -
bitslice
— 位片索引 -
index
—标准索引(默认) -
key
— 废弃
详解
此关键字指定索引的类型,具体是将索引实现为位图索引还是标准(常规、非位图)索引。
位图索引不能标记为唯一unique
。
默认
如果省略此关键字,则索引为标准索引。