美文网首页
Salesforce 小知识:大量“子记录”的处理方法

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

作者: 程程哥 | 来源:发表于2018-07-25 17:55 被阅读0次

    大量“子记录”的存放

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

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

    解决方案:

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

    大量记录的所有者

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

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

    解决方案:

    1. 在导入记录的时候,尽量将记录都设定给正确的用户作为所有者。这样,该记录的权限计算只需要进行这一次,避免了将来重新设定所有者带来的权限的重新计算。
    2. 如果必须将大量的数据临时赋值给同一个用户作为所有者,那么选择拥有简单的权限设定、角色设定的用户,从而降低了对这些记录的权限计算的复杂度。

    相关文章

      网友评论

          本文标题:Salesforce 小知识:大量“子记录”的处理方法

          本文链接:https://www.haomeiwen.com/subject/fikbcftx.html