Salesforce最佳实践,以最大限度地减少数据存储大小

时间:2012-12-28 17:14:16

标签: salesforce storage apex-code soql

我需要将一个字符串数组(大约1-5个字符串,长度为10-30个字符)添加到我的一个自定义对象中。

what I've read开始,Salesforce将组织中的对象总数乘以2Kb(无论实际大小),以计算总数据存储量。

这让我觉得我应该在父对象上创建其他自定义字段,而不是创建新的自定义对象并将其与主 - 细节关系配对。

实施例: 一家仅出售家庭会员资格的俱乐部。父母支付固定的会员费,他们所有的孩子都可以访问俱乐部。俱乐部并不关心你有多少孩子。一个家庭有超过6个孩子的情况极为罕见。俱乐部想要跟踪孩子的名字,但绝对没有别的。

我应该选择选项1:

Family__c paired via master-detail to many Child__c objects

对于5个孩子的家庭来说,这将产生6条记录,总计12Kb。

或选项2:

Family__c has 6 custom fields called 
    Child01__c, Child02__c, Child03__c, Child04__c, Child05__c, and Child06__c

对于5个孩子的家庭来说,这将产生1个记录,总计2Kb。

Salesforce是否真的根据记录数计算数据存储?

在设计自定义对象时,我是否应该专注于旨在最小化总记录数而不是传统关系数据库设计的设计? (因为数据的1Gb限制)

1 个答案:

答案 0 :(得分:3)

由于您指定的原因,选项2是更好的选择。你是正确的,Salesforce.com每行自定义对象消耗2kb,无论它实际包含多少个字段。此外,一般来说,如果你要像这样一对一的对象,你最好把它放在主要对象的字段中;它可以为您节省查询,并使报告和列表视图更容易。