此文本使用 Salesforce 的自动翻译系统翻译。参加我们的调查,提供有关此内容的反馈,并告诉我们您接下来想要查看的内容。
可靠 - 性能
了解有关架构良好的受信 → 可靠 → 性能 → 延迟的更多信息
| Where to look? 产品区域 | 位置 | 好是什么样子? 模式 |
|---|---|
| Data 360 | 组织 | ✅ 数据流尽可能使用更新插入而不是完全刷新 完全刷新会完全清除表,然后使用数据重新填充。除非您真正需要完全刷新,否则选择更新插入,以仅获取新的和/或更新的记录。这将缩短处理时间并减少信用使用 |
| Einstein | 客服人员 | ✅ 客服人员分配到指定主题的操作不超过 15 个 客服人员生成器的“此主题的操作”选项卡中列出 15 个或更少的操作 |
| Einstein | 搜索索引 | ✅ 从搜索索引中忽略低基数字段以减少客服人员延迟 引入非常低基数(列表中不同元素的数量)或低熵(列表条目集中在几个值周围)的字段会影响相关性和延迟 使用搜索索引生成器中的高级设置,以仅选择相关字段进行分块。这将减少搜索索引的大小,并减少客服人员的延迟 |
| 平台 | 流 | ✅ 指定获取记录中的字段以提高性能 当您指定在获取记录元素中存储哪些字段时,可以减少从服务器返回并传输到客户端的数据量。如果数据表消耗此元素的输出,您可能会看到组件的性能显著提高 |
| 平台 | 组织 | ✅ 报表具有单一特定目的 |
| 平台 | 组织 | ✅ 报表包含决策所需的最小行数和列数 |
| 平台 | 组织 | ✅ 筛选器使用等于/不等于 |
| 平台 | 组织 | ✅ 筛选器不包含公式字段 |
| 平台 | 组织 | ✅ 共享模式尽可能简化 |
| 平台 | 组织 | ✅ 使用 Lightning Web 组件的自定义 UI 组件 |
| 平台 | 组织 | ✅ LWC 使用 Lightning 数据服务进行数据操作 |
| 平台 | 组织 | ✅ 排序和筛选列表数据在客户端使用 JavaScript 处理 |
| 平台 | 组织 | ✅ 对列表视图、报表和仪表板进行性能审计 定期检查会识别性能问题(高运行时/数据库 CPU 消耗),并更新或删除性能最差的列表视图、报表和仪表板 |
| 平台 | 组织 | ✅ Salesforce Edge 已启用 |
了解有关架构良好的受信 → 可靠 → 性能 → 吞吐量的更多信息
| Where to look? 产品区域 | 位置 | 好是什么样子? 模式 |
|---|---|
| 平台 | Apex | ✅ 批量 API 批处理大小会仔细调整 批处理大小可能会因对象的性质、操作和作为对象基础的自动化程度而异。调整批次大小是一门艺术,而不是一门科学,以便它执行尽可能多的工作,但不超过 10 分钟的执行时间非常重要 |
| 平台 | 设计标准 | ✅ 如何使用平台缓存的指导遵循平台缓存最佳实践 |
| 平台 | 组织 | ✅ DML 或数据库方法始终针对 Apex 中的集合进行操作 |
| 平台 | 组织 | ✅ SOQL 语句是选择性的 SOQL 中不使用LIKE比较或部分文本比较 |
| 平台 | 组织 | ✅ SOQL 语句是选择性的 比较运算符在 SOQL 语句中使用正逻辑(例如 INCLUDES、IN)作为主要或唯一逻辑 |
| 平台 | 组织 | ✅ SOQL 语句是选择性的 在 SOQL 语句中使用 = NULL,!= NULL 很少,并且/或者总是跟在正比较运算符之后 |
| 平台 | 组织 | ✅ SOQL 语句是选择性的 SOQL 中没有显示 LIMIT 1 语句 |
| 平台 | 组织 | ✅ 循环中未显示 SOQL |
| 平台 | 组织 | ✅ 所有通配符条件都显示在 SOSL 中 |
| 平台 | 组织 | ✅ 批量化用于数据和系统操作 |
| 平台 | 组织 | ✅ 尽可能支持异步处理 |
| 平台 | 组织 | ✅ 配置平台缓存分区 |
| 平台 | 组织 | ✅ SOQL 语句是选择性的 |
| 平台 | 组织 | ✅ SOQL 语句是选择性的 SOQL 语句中不使用 ALL ROWS 关键字 |
了解有关架构良好的受信 → 可靠 → 性能 → 延迟的更多信息
| Where to look? 产品区域 | 位置 | 要避免什么? 反模式 |
|---|---|
| Data 360 | 组织 | 数据流刷新模式默认设置为完全刷新 所有或大多数数据流的刷新模式为完全刷新 |
| Einstein | 客服人员 | 客服人员拥有超过 15 个分配给指定主题的操作 客服人员生成器的“此主题的操作”选项卡中列出超过 15 个操作 |
| 平台 | Lightning Web 组件 (LWC) | 假设应用程序事件仅在使用组件时执行 在 Lightning Console 中,未聚焦选项卡中包含的组件仍可以监听应用程序事件,即使它们不可见 |
| 平台 | 组织 | ⚏ 共享模型很复杂 |
| 平台 | 组织 | 自定义 UI 组件使用 Aura 或 Visualforce |
| 平台 | 组织 | LWC 使用 Apex 进行数据操作 |
| 平台 | 组织 | 排序和筛选列表数据在服务器端使用 Apex 处理 |
| 平台 | 组织 | 使用的筛选器包含/不包含 |
| 平台 | 组织 | 筛选器包含公式字段 |
| 平台 | 组织 | ⚏ Salesforce Edge 未启用 |
| 平台 | 组织 | 报表具有多种用途 |
| 平台 | 组织 | 报表包含决策不需要的额外行和列 |
了解有关架构良好的受信 → 可靠 → 性能 → 吞吐量的更多信息
| Where to look? 产品区域 | 位置 | 要避免什么? 反模式 |
|---|---|
| 平台 | Apex | 从单个同步操作中排队多个未来或可排队方法 从单个同步操作中排队多个异步方法 |
| 平台 | Apex | 父/子对跨批量 API 批次拆分 多个批次包含与相同父级相关的子记录 |
| 平台 | 设计标准 | ⚠ 如果有平台缓存使用指南,不清楚或与推荐的最佳实践不一致 |
| 平台 | 组织 | SOQL 语句是非选择性= NULL,!= NULL条件用作 SOQL 语句中的主要或唯一比较运算符 |
| 平台 | 组织 | SOQL 语句是 SOQL 中出现的非选择性LIMIT 1语句 |
| 平台 | 组织 | SOQL 语句是非选择性ALL ROWS关键字用于 SOQL 语句 |
| 平台 | 组织 | DML 语句未批量化 |
| 平台 | 组织 | 支持同步进程 |
| 平台 | 组织 | ⚏ SOQL 显示在循环中 |
| 平台 | 组织 | 规划异步操作在特定时间结束 设计流程或解决方案,假设异步操作将在特定时间或给定 SLA 内结束。 |
| 平台 | 组织 | 从同步操作中排队批处理作业 从同步最终用户活动或集成 API 调用中启动批处理 Apex 作业 |
| 平台 | 组织 | DML 或数据库方法针对 Apex 中的单个记录进行操作 |
| 平台 | 组织 | SOQL 语句是非选择性LIKE,通配符筛选条件显示在 SOQL 语句中 |
| 平台 | 组织 | SOQL 语句是非选择性的比较使用 NOT、NOT IN 条件作为 SOQL 语句中的主要或唯一比较运算符 |
| 平台 | 组织 | Visualforce 视图状态用于应用程序缓存 |
| 平台 | 组织 | ⚏ SOSL 很少或没有一致地用于通配符选择条件 |
| 平台 | Visualforce | Visualforce 远程处理期间轮询过多 高流量 Visualforce 页面轮询数据库的频率超过每五分钟一次 |