联合索引概述
联合索引指的是包含两个属性或者多个属性的索引,又称为组合索引。工业数字模型驱动引擎-数据建模引擎(xDM Foundation,简称xDM-F)提供了三种高效易用的索引类型:普通索引、唯一索引和唯一键索引忽略大小写。您可以在数据模型“功能配置”页签下添加索引时,指定索引类型并添加索引属性。
- 普通索引:即非唯一索引,是在数据模型中的某一个属性或者多个属性组合建立的索引,允许被索引的单个属性或者多个属性包含重复值,不要求唯一。例如某企业存在同姓名的员工,您需要根据姓名查询员工个人资料时,可能会出现多条数据。
- 唯一索引:用于确保数据模型中的某一个属性或者多个属性具有唯一值。此索引类型大小写敏感,即:如果两条记录的索引属性的值只有大小写不同,那么它们会被认为是不同的值。
- 唯一索引忽略大小写:与唯一索引相同,也是用于确保数据模型中的某一个属性或者多个属性具有唯一值,但此索引类型大小写不敏感。当您需要在唯一索引中忽略大小写,可使用此类型。
属性优先级
联合索引内属性具有优先级。属性优先级通过属性在列表中的位置来表示,列表顶端属性优先级最高,最先匹配;列表底端属性优先级最低。
支持的范围
- 支持数据模型本身的属性。
- 支持从父模型继承的所有属性。
不支持的范围
- 在应用设计态添加索引时,不支持选择RdmDeleteFlag和MasterId属性。
- 不支持JSON、文件、URL和长文本类型的属性。
- 选择“普通索引”时,如果属性的约束信息包含如下定义,则不支持。
- “入库”为“否”的属性。
- “多值”为“是”的属性。
- “唯一键”为“是”的属性。
- 选择“唯一索引”时,如果属性的约束信息包含如下定义,则不支持。
- “入库”为“否”的属性。
- “多值”为“是”的属性。
- “唯一键”为“是”的属性。
- 选择“唯一索引忽略大小写”时,如果属性的约束信息包含如下定义,则不支持。
- “入库”为“否”的属性。
- “多值”为“是”的属性。
- “唯一键”为“是”的属性。
联合索引与单索引的区别
对比项 |
联合索引 |
单索引 |
---|---|---|
特点 |
|
|
应用场景 |
适用于查询条件涉及多个属性的情况,例如根据用户ID和状态查找数据、根据多个属性的组合进行排序等。 |
适用于查询条件涉及单个属性的情况,例如根据用户ID查找用户、根据日期范围查询数据等。 |
应用设计态 |
支持在构建数据模型时,在“功能配置”页签中的 进行定义。 |
支持在创建属性时,在“约束信息”中的“索引”进行定义。 |
应用运行态 |
支持在“数据模型管理”中管理数据实体/关系实体时,在“功能配置”页签中的 进行定义。 |
使用限制
- 在应用设计态创建的联合索引,需依次完成 的操作,才可在应用运行态创建数据实例时执行。
- 在应用运行态中,仅支持在“basicTenant”租户下管理索引,且应用运行态下创建的索引立即生效。