文章
· 八月 2, 2021 阅读大约需 2 分钟

索引关键字PrimaryKey,ShardKey,SqlName,Type

第五十三章 索引关键字 - 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

默认

如果省略此关键字,则索引为标准索引。

讨论 (0)1
登录或注册以继续