☰
CDS 性能设计的第一道闸门,为什么要尽量减少数据源数量
2026/10/8 15:32:29 网站建设 项目流程

在一个已经运行多年的 SAP S/4HANA 系统里,CDS 数据模型很容易出现一种看起来很正常、实际上越来越危险的演化路径。最初只是为了读取销售订单的几个字段,于是建立一个很轻量的 CDS View。后来业务提出需要客户名称,我们把 Business Partner 相关的数据源接进来。再后来需要销售组织描述、付款条件文本、公司代码、地址、国家地区、币种、合作伙伴功能、信用信息,又陆续增加更多 Association 或 Join。

单独看每一次修改都很合理。

真正的问题出现在几年之后。

最上层的一个 Consumption View 表面上可能只有几十行 CDS DDL,但顺着它依赖的 Interface View、Basic View、Composite View 一层层展开,底下已经连到了几十张甚至上百张数据库表。开发人员打开最顶层的 CDS 实体时,视觉上根本感觉不到它已经变成一个庞大的 SQL 网络。

这正是 SAP 在 ADT 里提供Complexity Metrics的原因之一。

Complexity Metrics会从 CDS 数据模型角度统计可能影响性能的结构特征,其中Used Data Sources会聚合显示 CDS 实体所依赖的数据源数量,而且相同的数据源如果在依赖结构中被多次使用,也会分别计数。SAP 将这类信息作为判断 CDS 数据模型复杂度的重要指标,而不是仅仅观察某一层 CDS 源代码里写了几个JOIN。

一个很重要的指标,就是 CDS 实体背后实际涉及多少数据库表。

这里最容易产生误解。

假定

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询