Salesforce 大数据量处理篇(一)Skinny Table
数据操作在salesforce中非常的重要。我们在salesforce中不管是进行sales cloud 还是 service cloud或者是自定义开发。随着使用的年限增加,数据会慢慢增多,比如针对 sales cloud的 account / opportunity。 针对service cloud中的 account / case。当我们的数据达到百万或者千万级别。运行 report / listview 会非常的慢,运行report偶尔也会出现超时情况。又比如我们想在vf page中SOQL进行查询,并且查询的SOQL字段没有查询关联表,只是当前表的常用字段。出现了性能问题,想要优化。
这种情况下,我们可以根据情况考虑启用 skinny table.
一. skinny table简介
Skinny Table是Force.com平台中的自定义表,它包含指定标准表或自定义表的字段子集。如果需要,Force.com可以有多个Skinny Table.比如下图中针对 Account创建的 Skinny Table.
Skinny Table 可以针对 custom object / Account / Contact / Opportunity / Lead / Case表进行创建 Skinny Table。 他们可以针对 Report / ListView / SOQL进行性能优化。如果是这些表以外的,比如 External Object以及其他的标准 Object,则无法创建 Skinny Table。
Salesforce可以创建skinny table来包含经常使用的字段,并避免join操作。这可以提高某些只读操作的性能。当源表被修改时,skinny table与它们的源表保持同步,所以我们也不需要考虑和源表的同步问题。因为 Skinny Table 的数据是只读的,所以针对大数据量的Report性能会有显著的提高。
需要注意的是,管理员并不能自己创建 Skinny Table,如果想要启用,需要给salesforce 提case。启用以后也不能创建/访问或者编辑 Skinny Table,如果提case以后,Skinny Table字段需要修改类型或者添加新字段,也需要给Salesforce提case。
Skinny tables只支持以下的字段类型:
- Checkbox
- Date
- Date and time
- Number
- Percent
- Phone
- Picklist (multi-select)
- Text
- Text area
- Text area (long)
- URL
二. Skinny Table使用注意事项
Skinny Table虽好,但是需要考虑以下的点:
1. Skinny Table不包含soft-deleted的数据,比如不包含在回收站的数据,即使SOQL设置 isDeleted=true在 Skinny Table无法查询出来。
2. 一次性考虑好 Skinny Table需要用到的字段,如果字段需要新增,则只能重新给salesforce 提case让他们重新创建;
3. Skinny Table只能最多包含100个字段。
4. Skinny Table 不能跨表创建字段。比如 针对 Opportunity创建了 Skinny Table,无法创建关联到 Account的字段,即只能当前表创建字段.
总结:针对大数据满足以下条件出现性能问题情况,可以考虑使用 Skinny Table. 使用前需要先确认是否满足这些条件,满足可以考虑使用,如果不满足,则使用其他的方案进行性能优化。篇中有错误地方欢迎指出,有不懂欢迎留言。
Salesforce 大数据量处理篇(一)Skinny Table的更多相关文章
- Salesforce 大数据量处理篇(二)Index
本篇参考: https://developer.salesforce.com/docs/atlas.en-us.202.0.salesforce_large_data_volumes_bp.meta/ ...
- MySQL大数据量快速分页实现(转载)
在mysql中如果是小数据量分页我们直接使用limit x,y即可,但是如果千万数据使用这样你无法正常使用分页功能了,那么大数据量要如何构造sql查询分页呢? 般刚开始学SQL语句的时候,会这 ...
- J2EE综合:如何处理大数据量的查询
在实际的任何一个系统中,查询都是必不可少的一个功能,而查询设计的好坏又影响到系统的响应时间和性能这两个要害指标,尤其是当数据量变得越来越大时,于是如何处理大数据量的查询成了每个系统架构设计时都必须面对 ...
- MySQL大数据量分页查询
mysql大数据量使用limit分页,随着页码的增大,查询效率越低下. 测试实验 1. 直接用limit start, count分页语句, 也是我程序中用的方法: select * from p ...
- 【1】MySQL大数据量分页查询方法及其优化
---方法1: 直接使用数据库提供的SQL语句---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N---适应场景: 适用于数据量较少的情况(元组百/千 ...
- MySQL大数据量分页查询方法及其优化
MySQL大数据量分页查询方法及其优化 ---方法1: 直接使用数据库提供的SQL语句---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N---适 ...
- MySQL分页查询大数据量优化方法
方法1: 直接使用数据库提供的SQL语句 语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N适应场景: 适用于数据量较少的情况(元组百/千级)原因/缺点: ...
- POI读写大数据量EXCEL
另一篇文章http://www.cnblogs.com/tootwo2/p/8120053.html里面有xml的一些解释. 大数据量的excel一般都是.xlsx格式的,网上使用POI读写的例子比较 ...
- Mysql 大数据量导入程序
Mysql 大数据量导入程序<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" ...
随机推荐
- 第7.24节 Python案例详解:使用property函数定义属性简化属性访问代码实现
第7.24节 Python案例详解:使用property函数定义属性简化属性访问代码实现 一. 案例说明 本节将通过一个案例介绍怎么使用property定义快捷的属性访问.案例中使用Rectan ...
- 第15.1节 PyCharm安装及使用
一. 引言 在本章以前,所有老猿实现的代码都是基于Python自带的解释器IDLE来开发和执行的,很方便.消耗少,但进入PyQt图形界面开发以后,IDLE不能实现和PyQt的集成,且不能支持断点调试, ...
- Hadoop 中HDFS、MapReduce体系结构
在网络环境方面,作为分布式系统,Hadoop基于TCP/IP进行节点间的通信和传输. 在数据传输方面,广泛应用HTTP实现. 在监控.通知方面,Hadoop等分布式大数据软件则广泛使用异步消息队列等机 ...
- jmeter使用中的问题
1.响应乱码 step1:指定请求节点下,新建后置控制器"BeanShell PostProcessor" step2:其脚本框中输入以下代码,保存 //获取响应代码Unicode ...
- 巨经典论文!推荐系统经典模型Wide & Deep
今天我们剖析的也是推荐领域的经典论文,叫做Wide & Deep Learning for Recommender Systems.它发表于2016年,作者是Google App Store的 ...
- 威联通(NAS)搭建个人音乐中心
我为什么要自己搭建音乐服务 曾记得早些年,音乐是可以随便在线听,随便下载的,没有付费这么一说的(背后是音乐平台提供的版权支持).我们听音乐也就可以很随意,但是这几年,音乐的版权开始管理的严禁,音乐没地 ...
- 算法——模拟LRU机制
运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 . 实现 LRUCache 类: LRUCache(int capacity) 以正整数作为容量 capacity 初始化 ...
- Windows 必备——cmder 一款比cmd牛逼的Win软件
Windows 必备--cmder 一款比cmd牛逼的Win软件一款Windows环境下的命令行替换工具:cmder这款工具简洁美观易用,支持大部分的linux命令,支持ssh连接Linux,比起自带 ...
- 快用Django REST framework写写API吧
Django默认是前后端绑定的,提供了Template和Form,现在流行前后端分离项目,Python大佬坐不住了,于是便有了Django REST framework:https://github. ...
- java.net.BindException:Problem binding to [hostname:8088]地址已在使用
异常提示端口号被占用 查找被占用的端口 netstat -tln netstat -tln | grep 8083 netstat -tln ## 查看端口使用情况,而netstat -tln | g ...