版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

1.背景

标准弹性模型如果数据量比较大时, 一些弹性字段被使用作过滤,排序,关联等操作,页面的加载速度就会很慢,性能很差;

这时候,我们就需要通过把弹性字段映射到实体字段的操作,来优化页面加载速度,也就是我们常说的,把字段升级到标准字段里面。

2. 哪些模型可以使用实体字段映射呢

1.标准弹性模型

2.EmployeeEducation  教育信息模型

3.TechnicalSkills 技术技能信息模型

4.EmployeeSubSetFlexData 人员信息子集

5.SalaryDataEntry 薪酬明细数据 模型

6.WorkFlowFormDataFlexData 流程数据

7.WorkFlowFormDataChildFlexData 流程子表

8.等其他可以在弹性字段详情页面选择到映射实体字段操作的模型


实体字段映射操作界面
Image Added


3.操作前需要思考!!!!

1.是不是只要升级了字段 速度就一定会提升呢?

答案是否定的,我们要讲究策略

2.

...

标准弹性模型 如果数据量比较大, 一些弹性字段使用 过滤,排序,关联等操作速度很慢,性能很差,我们将会把该字段升级到标准字段里面

什么样的字段需要升级字段?

首选有关联的,第二选需要过滤的,第三选排序的 ,预制字段有限选前三思

3.多个弹性字段选择映射时是否有策略?

我们在数据库中添加的索引如下(下图示意为标准弹性模型的索引,加了索引的字段,在过滤和查询的时候速度就会快一些)

Image Added


Image AddedImage AddedImage Added

其中data_object_id=对象id,data_depart_id=组织id。

针对业务主键,经常被关联,过滤,排序使用的字段,映射实体字段的时候优先映射以下字段。

当有多个弹性字段需要映射的时候,优先参考的搭配为:整数型-对象id,字符型-data_object_key1, 日期型-对象生效日期(data_effect_date)

如果要给某个日期字段映射到 对象生效日期(data_effect_date)实体字段的时候,

其他字段的映射就优先考虑以下字段: 对象id,组织id,data_object_key1,data_object_key2,data_object_id2

对象生效日期(data_effect_date)这个实体字段已经被用掉时,除了上述字段,还可以映射到data_object_id3, data_object_id4

注意:1. 以上为最优搭配,优先考虑以上字段的映射,如果上述字段被映射完了,再考虑其他字段

            2. 组织id只是在【映射实体字段】的选项中名字叫做组织id,不一定非得是组织id才能映射,只要是整数类型的字段都能映射上去

4.操作步骤

...

a.修改弹性字段

注意,这里不同模型,数据库预制的实体字段是不同的,所以会出现选项和截图中不一样的情况,不用担心

可以选择一个实体字段,这个实体字段就是即可,一旦选中保存不可修改

打开弹性字段的详情页,找到【映射实体字段】,可以选择一个实体字段,根据上面思考内容建议的对应类型,选中实体字段选即可;

注意,实体字段一旦选中保存不可修改,每个实体字段是一次性的,只能使用一次。

b.修改弹性字段

同意模型升级接口 升级接口  hcm.db.flex.field.flex.model.update.mapping.entity.field field  参数为 {"model_name":"xxxx"}   模型名称 xxxx替换成模型名称

调用该接口的目的是,将已存在的数据进行升级

Image Added调用该接口的目的是 将已存在的数据进行升级

流程相关的表升级接口为 流程数据表 接口 workflow.mapping.entity.field  传入的参数 为 {"business_id":xxxxx}

例如:wf_form_data_flex_data.10001   business_id 为10001

流程的数据需要 1.取消发布后,2.再表单中修改弹性字段映射,3.再执行接口升级

流程子表升级 接口为 workflow.mapping.entity.field.child 传入的参数为{"business_id":xxxxx,"detail_key":xxxx}

例如 :wf_form_data_flex_data_child.12#detail     business_id 就是22  detail_key就是detail

4.操作前请思考!!!!

1.是不是只要升级了字段 速度就一定会提升呢?

答案是否定的,我们要讲究策略

2.什么样的字段需要升级字段?

首选有关联的,第二选需要过滤的,第三选排序的 ,预制字段有限选前三思

3.多个弹性字段选择映射时是否有策略?

我们在数据库中添加的索引如下

Image Removed

其中data_object_id=对象id,data_depart_id=组织id。

针对业务主键,经常被关联,过滤,排序使用的字段,映射实体字段的时候优先映射以下字段。

映射多个字段的时候优先搭配:对象id,data_object_key1, data_effect_date

如果要给某个日期字段映射到data_effect_date,字段的时候,其他字段的映射就优先考虑以下字段: 对象id,组织id,data_object_key1,data_object_key2,data_object_id2

没有那个data_effect_date时,除了上述字段,还可以映射到data_object_id3, data_object_id4

注意:1. 以上为最优搭配,优先考虑以上字段的映射,如果上述字段被映射完了,再考虑其他字段

            2. 组织id只是名字叫做组织id,不一定非得是组织id才能映射,只要是整数类型的字段都能映射上去


5.快速检查需要配置的字段小妙招