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

外键关键字SqlName,Abstract,Condition,CoshardWith

第四十五章 外键关键字 - SqlName

为外键指定一个SQL别名。

用法

要覆盖此外键的默认SQL名称,请使用以下语法:

ForeignKey keyname(key_props) References pkg.class(ref_index) [ SqlName = alternate_name ];

其中备用名是一个SQL标识符。

详解

此关键字允许在通过SQL引用时定义此外键的替代名称。

默认

如果省略此关键字,外键的SQL名称就是外键定义中指定的keyname

第四十六章 索引关键字 - Abstract

指定索引是抽象的。

用法

要指定索引是抽象的,请使用以下语法:

Index MyIndex [ Abstract ];

注意:创建分片表时,会自动生成一个抽象分片键索引,无需定义。

详解

抽象索引仅用于分片表。它们不包含数据,因此没有存储(没有全局索引)。分片表只有一个抽象索引,称为分片键索引。分片键索引的目的是作为决定行所在分片的键。

如果索引被定义为抽象的,则不能通过方法或SQL访问或使用该索引。如果将此索引标记为唯一的,或者尝试在主键中使用它,这些约束将被忽略。

不能将IdKey索引定义为抽象索引。如果这样做,将会导致类编译错误。

可以在现有索引上使用此关键字,使其变得抽象。这不会删除索引中的任何现有数据。

默认

抽象关键字的默认值为false

第四十七章 索引关键字 - Condition

定义条件索引,并指定要将记录包含在索引中必须满足的条件。

用法

此关键字用于将现有应用程序迁移到SQL,不用于新应用程序。

第四十八章 索引关键字 - CoshardWith

指定这个类与之联合分片的类的名称。

用法

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

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

在本例中,当前类与User.Department类共同分片。

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