第四十九章 索引关键字 - Data
指定其值将存储在此索引中的属性列表。
用法
要在索引, 中存储属性值,请使用以下语法:
Index name On property_expression_list [ Data = stored_property_list ];
其中,stored_property_list
是单个属性名称或括号中以逗号分隔的属性 , 列表。
详解
此关键字指定属性列表,其值将存储在此索引中。
不能将此关键字与位图索引一起使用。
默认
如果省略此关键字,属性值将不会存储在索引中。
示例
Index NameIDX On Name [ Data = Name ];
Index ZipIDX On ZipCode [ Data = (City,State) ];
]
第五十章 索引关键字 - Extent
定义范围索引。
用法
要指定这是范围索引,请使用以下语法:
Index State [ Extent ];
否则,省略此关键字或将单词Not
放在关键字的前面。
注意:如果使用位图索引,则会自动维护一个范围索引,无需定义。
详解
extent index
范围索引用于跟踪哪些对象实例属于某个子类。
默认
范围关键字的默认值为假。
第五十一章 索引关键字 - IdKey
指定此索引是否定义表的对象标识值。
用法
要指定该表的Object Identity
值应该由索引所基于的一个或多个属性组成,请使用以下语法:
Index name On property_expression_list [ IdKey ];
否则,忽略此关键字或将单词Not
紧接在关键字之前。
详解
该关键字指定将使用索引所基于的一个或多个属性来构成该对象的Object Identity
值。
重要提示:IDKEY
索引使用的任何属性的值中都不能有连续的一对竖线(||
),除非该属性是对持久类实例的有效引用。
这种限制是由SQL机制的工作方式强加的。
在IDKey
属性中使用||
会导致不可预知的行为。
对象标识值用于唯一地定位持久对象实例。
一旦保存了使用IdKey
的对象,就不能修改组成IdKey
的任何属性的值。
IdKey
索引的行为也类似于惟一索引。
也就是说,对于在此索引中使用的属性(或属性组合), IRIS强制唯一性。
在这个索引定义中,允许将Unique
关键字指定为true
,但这是多余的。
默认
IdKey
关键字的默认值是false
。
第五十二章 索引关键字 - Internal
指定此索引定义是否是内部的(不显示在类文档中)。
用法
要指定此索引定义是内部的,请使用以下语法:
Index name On property_expression_list [ Internal ];
否则,省略此关键字或将单词Not
放在关键字的前面。
详解
内部类成员不会显示在类文档中。如果想让用户看到一个类,但不看到它的所有成员,这个关键字很有用。
默认
如果省略此关键字,此索引将显示在类文档中。