前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >索引关键字PrimaryKey,ShardKey,SqlName,Type

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

作者头像
用户7741497
发布2022-07-06 11:12:35
2850
发布2022-07-06 11:12:35
举报
文章被收录于专栏:hml_知识记录

第五十三章 索引关键字 - PrimaryKey

指定此索引是否定义表的主键。

用法

要指定该表的主键由该索引所基于的属性构成,请使用以下语法:

代码语言:javascript
复制
Index name On property_expression_list [ PrimaryKey ];

否则,省略此关键字或将单词Not放在关键字的前面。

详解

此关键字指定应通过SQL将此索引报告为此类(表)的主键。

PrimaryKey索引的行为也类似于唯一索引。 也就是说,对于在此索引中使用的属性(或属性组合),InterSystems IRIS强制唯一性。 在这个索引定义中,允许将Unique关键字指定为true,但这是多余的。

示例

代码语言:javascript
复制
Index EmpIDX On EmployeeID [ PrimaryKey] ;

默认

如果忽略此关键字,则该表的主键不是由索引所基于的属性构成的。

第五十四章 索引关键字 - ShardKey

指定这个类的分片键。

用法

在分片类完全实现之前,InterSystems建议从SQL创建分片表,而不是从对象端。 但是,如果你查看一个通过创建一个分片表生成的类,你可能会看到如下代码:

代码语言:javascript
复制
/// ShardKey分片表索引,由DDL CREATE table语句自动生成
Index ShardKey On DeptNum [ Abstract, CoshardWith = User.Department, ShardKey, SqlName = %ShardKey ];

在本例中,DeptNum属性是当前类的分片键。

第五十五章 索引关键字 - SqlName

指定索引的SQL别名。

用法

当通过SQL引用该索引时,要覆盖该索引的默认名称,使用以下语法:

代码语言:javascript
复制
Index name On property_expression_list [ SqlName = sqlindexname];

其中sqlindexname是一个SQL标识符。

详解

当通过SQL引用该关键字时,可以为该索引定义一个替代名称。

默认

如果忽略此关键字,则索引的SQL名称为索引定义中给定的indexname

第五十六章 索引关键字 - Type

指定索引的类型。

用法

要指定索引的类型,请使用以下语法:

代码语言:javascript
复制
Index name On property_expression_list [ Type = indextype ];

其中indextype是下列类型之一:

  • bitmap — 位图索引
  • bitslice — 位片索引
  • index —标准索引(默认)
  • key — 废弃

详解

此关键字指定索引的类型,具体是将索引实现为位图索引还是标准(常规、非位图)索引。

位图索引不能标记为唯一unique

默认

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

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第五十三章 索引关键字 - PrimaryKey
  • 用法
  • 详解
  • 示例
  • 默认
  • 第五十四章 索引关键字 - ShardKey
  • 用法
  • 第五十五章 索引关键字 - SqlName
  • 用法
  • 详解
  • 默认
  • 第五十六章 索引关键字 - Type
  • 用法
  • 详解
  • 默认
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档