1. 哪些模型可以使用实体字段映射呢
1.标准弹性模型
2.EmployeeEducation 教育信息模型
3.TechnicalSkills 技术技能信息模型
4.EmployeeSubSetFlexData 人员信息子集
5.SalaryDataEntry 薪酬明细数据 模型
6.WorkFlowFormDataFlexData 流程数据
7.WorkFlowFormDataChildFlexData 流程子表
2.背景
标准弹性模型 如果数据量比较大, 一些弹性字段使用 过滤,排序,关联等操作速度很慢,性能很差,我们将会把该字段升级到标准字段里面
3.操作
a.修改弹性字段
可以选择一个实体字段,这个实体字段就是即可,一旦选中保存不可修改
升级接口 hcm.db.flex.field.flex.model.update.mapping.entity.field 参数为 {"model_name":"xxxx"} 模型名称
调用该接口的目的是 将已存在的数据进行升级
流程相关的表升级接口为 流程数据表 接口 workflow.mapping.entity.field 传入的参数 为 {"business_id":xxxxx}
例如:wf_form_data_flex_data.10001 business_id 为10001
流程子表升级 接口为 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.多个弹性字段选择映射时是否有策略?
我们在数据库中添加的索引如下
其中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.快速检查需要配置的字段小妙招