• Salesforce 小知识:大量“子记录”的处理方法


    大量“子记录”的存放

    例子:系统中导入了很多“联系人”(Contact)记录,它们没有具体所属的“客户”(Account)记录。那么我们就要将它们作为“子记录”临时保存在一个Account记录下。

    问题:当保存Contact和Account的关系时,系统会同时锁定这两条记录。那么如果要利用多线程同时保存大量的Contact记录到同一个Account记录下,很有可能会出错。

    解决方案:

    1. 尽可能的在同一个Account记录下保存少于10000条子记录。
    2. 如果要同时导入大量的Contact记录,那么就在系统中创建同样多的Account记录,然后在代码中将这些Contact记录分别添加到不同的Account记录中。这样,在保存的时候,这些记录可以被多线程分别保存,避免了同一条记录被锁定导致其他记录保存错误的风险。

    大量记录的所有者

    例子:系统中导入了很多记录,每条记录都要有一个所有者(Owner)。

    问题:如果将这些记录暂时赋值给同一个用户作为所有者,那么系统会计算所有记录的共享权限等。而如果此用户本身有着复杂的权限设定、角色设定等,那么对这些记录的权限计算也会非常复杂,从而会给系统的运行效率带来影响。

    解决方案:

    1. 在导入记录的时候,尽量将记录都设定给正确的用户作为所有者。这样,该记录的权限计算只需要进行这一次,避免了将来重新设定所有者带来的权限的重新计算。
    2. 如果必须将大量的数据临时赋值给同一个用户作为所有者,那么选择拥有简单的权限设定、角色设定的用户,从而降低了对这些记录的权限计算的复杂度。
  • 相关阅读:
    人脸识别最新开发经验demo分享
    虹软人脸识别SDK的接入方法
    基于虹软sdk,java实现人脸识别(demo)
    【C#】 基于ArcFace 2.0—视频人脸识别Demo
    基于免费人脸识别的闸机开发及源码分享
    运算符及其应用
    vim 命令
    children lastchild parentNode parentElement
    同步对象锁有效作用域
    在eclipse导入Java 的jar包的方法 JDBC【图文说明】
  • 原文地址:https://www.cnblogs.com/chengcheng0148/p/salesforce_large_volumn_subrecords_tips.html
Copyright © 2020-2023  润新知