访问声明
访问语句定义了将为类生成的访问方法。将为对象标识符(oids)、自动对象标识符(autoids)、索引和列表生成访问方法。
索引定义可以包含来自给定类的任何字段、结构元素或向量元素的组合。
SmartEDB 支持丰富的索引类型:
- 树(B 树):树索引可用于模式匹配、范围检索和有序(排序)检索。
- 字典树(Patricia 树):Patricia 字典树索引可用于 IP 地址和类似字母数字字符串的最优访问。
- KD树(多维):KD树索引用于多维键值。
- R树(空间搜索):R树索引用于空间搜索。
- 三元组(三元组搜索):三元组索引用于在不知道确切拼写时的文本搜索。
- 包含(覆盖索引):可通过在索引中包含所需的数据字段来减少额外的查找操作。
- 哈希(哈希表):在内存数据库中,哈希索引对于精确匹配搜索比树索引更高效,并且只能用于精确匹配搜索或无序列表检索。当声明基于树的索引时,可以指定额外的唯一限定符。哈希索引可以声明为非唯一,以允许将具有相同哈希表条目的重复值存储在一起。唯一索引必须包含该索引的唯一字段值组合。运行时会识别创建重复项的尝试并拒绝执行(发出
MCO_S_DUPLICATE
状态代码)。哈希索引需要在索引名称之后跟上额外的参数expected-number-of-entries
。这是一个整数,运行时会用它来为索引分配初始的哈希表。必须指定该参数,但不必精确(如果需要,运行时会自动分配额外的哈希表空间)。