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

大量“子记录”的存放

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

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

解决方案:

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

大量记录的所有者

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

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

解决方案:

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

原文地址:https://www.cnblogs.com/chengcheng0148/p/salesforce_large_volumn_subrecords_tips.html

时间: 2024-10-10 22:57:33

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

Salesforce 小知识:使用 JSON web token 调用 REST 函数

在不同的 Salesforce 之间,我们可以使用基于 JSON web token(简称 JWT)的验证方式进行 REST 通信.本文就举例说明如何实现. 准备工作 首先假设两个 Salesforce 系统(A.B)的域名分别是: https://A.salesforce.com https://B.salesforce.com 在系统 A 中定义了 REST 方法,我们要从系统 B 中调用此方法. 建立用户 我们需要在系统 A 中建立一个用户,在系统 B 中调用 REST 方法时,需要这个用

Salesforce小知识:在简档中设置Visualforce页面的权限

简档(Profile)中的 Visualforce 页面访问权限 在Salesforce中,对于自定义的简档,可以设置"Visualforce 页面访问"的权限. Visualforce 页面权限的范围 当一个简档拥有了Visualforce页面的访问权限,也得到了和该页面相关的一些内容的访问权限,包括: 该页面中的 Apex Controller 类 该页面中定义的 extension 相关的页面和类 该页面中包含的组件 该页面中通过"apex:include"和

猫猫学iOS之小知识之_xcode插件的删除方法_自己主动提示图片插件KSImageNamed有时不灵_分类或宏之类不能自己主动提示,

猫猫分享,必须精品 原创文章.欢迎转载. 转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243 一:解决解决自己主动提示图片插件KSImageNamed有时不灵_分类或宏之类不能自己主动提示 事实上.插件神马的我们自己也能写.并没有想象中的那么难,只是眼下我们还是先解决当前问题 在做微博项目时候.抽取的分类有一个 +(instancetype)imageWithOriginalName:(NSString *)imageName; 可是调用的时候,当中字

html、css中常用的小知识记录

好多东西过一段时间不用就忘记了,为此写了这篇文章,用来记录每次想不起来的小知识! 1.鼠标停留显示提示,使用title .如:title

JSP+Ajax网站开发小知识

一.JSP基础 1.<select  name="love"  size="3">其中的size属性指定了列表框显示选项的条数,如果所有选项多于这个数,将会出现滚动条. 2.addCookie(Cookie  cookie)方法将其放入客户端,获取Cookie对象可调用request对象的Cookie[]  getcookies()方法. Cookie   myCookie  =  new  Cookie("name",  "

Linux 小知识翻译 - 「syslog」

这次聊聊「syslog」. 上次聊了「日志」(lgo).这次说起syslog,一看到log(日志)就明白是怎么回事了.syslog是获取系统日志的工具. 很多UINIX系的OS都采用了这个程序,它承担了「获取系统全部的日志」这个维持系统正常运行的重要任务. syslog的本体是「syslogd」这个daemon(一般翻译成守护进程),常驻内存中获取日志. syslog的特点是可以通过配置文件「/etc/syslog.conf」,对「哪种应用程序?哪种重要度的信息?记录在哪个文件中?」等进行细致的

Linux 小知识翻译 - 「日志」(log)

这次聊聊「日志」. 「日志」主要指系统或者软件留下的「记录」.出自表示「航海日志」的「logbook」. 经常听说「出现问题的时候,或者程序没有安装自己预期的来运行的时候,请看看日志!」. 确实,记录了系统和软件详细运行情况的「日志」是信息的宝库,通过日志来解决问题的事例也非常多. 但事实上,「无论如何也不会看日志」的用户也有很多.理由很简单,日志的信息量非常大,全部用眼睛来看的话是非常吃力的. 而且,英语写的日志也会让英文不好的人敬而远之. 虽说「要养成用眼睛来看日志的习惯」,但实行起来却非常

Linux 小知识翻译 - 「编译器和解释器」

这次聊聊「编译器和解释器」. 编程语言中,有以C为代表的编译型语言和以Perl为代表的解释型语言.不管是哪种,程序都是以人类能够理解的形式记录的,这种形式计算机是无法理解的. 因此,才会有编译器和解释器. 对于编译型语言,是使用编译器将人类可读的代码转换为机器能够理解的「机器语言」文件,然后通过执行这个「机器语言」文件来实现程序的执行. 另一方面,对于解释型语言,是使用解释器将人类可读的代码逐行解释,一边解释一边执行这个程序.(这里的解释是将代码解释成机器语言,让计算机能够理解) 甚至有的语言既

Jquery:小知识;

Jquery:小知识: jQuery学习笔记(二):this相关问题及选择器 上一节的遗留问题,关于this的相关问题,先来解决一下. this的相关问题 this指代的是什么 这个应该是比较好理解的,this就是指代当前操作的DOM对象. 在jQuery中,this可以用于单个对象,也可以用于多个对象. $('btn').click(function(){ alert(this.innerHTML); // 单个对象,this指代当前id为btn的DOM对象 }); $('div').each