在 ABAP 系统里讨论性能问题时,数据库访问几乎永远绕不开。一条业务代码如果执行了数万次SELECT,真正昂贵的部分往往并不是 ABAP 语句本身,而是应用服务器与数据库之间反复发生的数据访问。即使 SAP HANA 已经非常快,网络通信、数据库请求调度、SQL 执行、结果集传输以及 ABAP Database Interface 的处理依旧存在成本。SAP 很早就为经典 DDIC 数据库表提供了 Table Buffering。到了 CDS View Entity 时代,SAP 又引入 CDS Entity Buffer。现在随着 CDS Table Entity 的出现,同一套思想进一步延伸到了 Table Entity Buffer。这里最容易产生的误解,是把 Table Entity Buffer 理解为某种新的内存数据库机制。实际上并不是这样。Table Entity Buffer 依旧属于 ABAP Table Buffering 体系。数据仍然存放在当前 AS ABAP application server instance 的 shared memory 中。区别主要发生在建模方式上,缓冲策略不再作为 table entity 定义内部的一组技术参数存在,而是由单独的 CDS tuning object 描述。SAP 官方文档把 CDS entity buffer 明确定义为一种 ABAP tuning object,用来描述 CDS entity 的 table buffering 设置。对于 CDS table entity,对应的定义语句就是DEFINE TABLE ENTITY BUFFER ON。