在 SAP 生态里,OData不是一个单纯的接口协议名称,它更像是一套把HTTP、REST、数据模型以及查询语义组合起来的统一语言。无论你是在经典SAP Gateway Foundation上开发OData V2服务,还是在S/4HANA、RAP、SADL甚至ABAP environment中消费或暴露服务,真正决定一个服务是否好用、是否高性能、是否符合Clean Core思路的,往往不是CRUD本身,而是这些查询选项有没有被设计好、实现好、推到数据库层去。SAP Gateway文档也明确把查询选项分成两类:一类由框架自动提供,一类需要开发者自行实现。(OData)很多项目里,服务明明能跑通,用户却仍然抱怨列表慢、翻页卡、筛选不准、总数不对,根源通常都在查询模式处理得不够精细。一个面向移动端、SAP Fiori、外部集成平台的OData服务,如果不认真对待$select、$filter、$orderby、$top、$skip、$count和
把 SAP OData 查询模式讲透:从 $select 到 $expand 的设计、实现与性能边界
在 SAP 生态里,OData不是一个单纯的接口协议名称,它更像是一套把HTTP、REST、数据模型以及查询语义组合起来的统一语言。无论你是在经典SAP Gateway Foundation上开发OData V2服务,还是在S/4HANA、RAP、SADL甚至ABAP environment中消费或暴露服务,真正决定一个服务是否好用、是否高性能、是否符合Clean Core思路的,往往不是CRUD本身,而是这些查询选项有没有被设计好、实现好、推到数据库层去。SAP Gateway文档也明确把查询选项分成两类:一类由框架自动提供,一类需要开发者自行实现。(OData)很多项目里,服务明明能跑通,用户却仍然抱怨列表慢、翻页卡、筛选不准、总数不对,根源通常都在查询模式处理得不够精细。一个面向移动端、SAP Fiori、外部集成平台的OData服务,如果不认真对待$select、$filter、$orderby、$top、$skip、$count和