自定义信息内容和访问 > 数据库活动 > 添加或移除索引字段
添加或移除索引字段
索引字段可用于优化数据库搜索。此类字段被定义为数据库表中相关列的约束。
添加索引字段
要将索引字段添加到现有数据库表中:
1. 浏览至与数据库表相关的 ThingWorx 实体的相应管理器。这些管理器在启动点配置事物 (PTC.Factory.C_LaunchPointConfigurationThing_[发布版本]) 的“配置”页面上的 ManagerConfigurationSettings 表中指定。例如,Operator Advisor 实体的管理器为 PTC.SCA.SCO.DefaultProductionOrderManager
2. “服务”下,针对要添加索引字段的实体,查找并覆盖 Get<entity>DBInfo 服务。例如,要向作业单的数据库表中添加索引字段,请查找并覆盖 GetJobOrderDBInfo 服务。
3. 在脚本编辑器中,向下滚动至要向其添加索引字段的数据形状的条目。
4. 添加具有以下属性的数据形状的 indexedFields 数组:
name -(必需)列的名称。
unique - 指定列是否必须具有唯一值。
identifier - 数据库中实体的名称。如果尚未指定,则系统会自动以 <表名>_<列名>_idx 格式生成该值。如果已指定,则无论对于指定值,还是任何自动生成的值,该值都必须具备唯一性。该值的最大长度为数据库所允许的最大标识符长度。
5. 单击“保存”以保存对服务所做的更改。
6. 浏览至 PTC.SCA.SCO.DatabaseManager 事物。
7. 将 Operator Advisor 中的数据库信息与数据库架构同步。有关详细信息,请参阅 同步数据库信息和数据库架构
移除索引字段
要移除索引字段:
* 
切勿移除任何预设定义的索引字段。仅移除之前已添加的索引字段,例如,按照 将自定义属性添加到 Operator Advisor 实体将自定义实体添加到 Operator Advisor 数据模型添加的索引字段。
1. 导航到为您的系统配置的数据库事物,例如 PTC.SCA.SCO.PostgresDatabasePTC.SCA.SCO.MSSQLDatabase
2. “服务”下,执行具有以下输入的 RemoveIndex 服务:
dataShapeName - 要从中移除索引字段约束的数据库表的数据形状。
fieldName - 要从中移除索引字段约束的数据形状的字段。
dbInfo - 欲移除索引字段约束的 JSON 说明。必须提供在定义索引字段的 Get<entity>DBInfo 服务中所指定的相同 identifier (如果有) 和 name 信息。
3. 单击“执行”
4. 导航到定义了索引字段的 Get<entity>DBInfo 服务,并从中移除索引字段定义。如果不移除此类定义,则下次 运行同步服务时,会将索引字段添加回数据库。
例如,要从 MyObject 数据形状中名为 WorkDefinitionUID 的字段内移除带有指定 identifier 的索引字段约束,请为输入参数指定以下内容:
dataShapeName - MyObject
fieldName - WorkDefinitionUID
dbInfo -
{
"identifier":"myobject_workdefinitionuid_idx"
"name":"WorkDefinitionUID",
}