SAP CDS view 里借助
path expression 技术,我们可以实现
join on demand 的场景。
如下图所示:
Join on demand是SAP CDS (Core Data Services)视图的一个重要特性,它允许您在CDS视图中实现
延迟连接,从而优化查询性能。通过在需要时执行连接操作,而不是在每次查询时都执行连接,可以减少数据库的负担,提高查询性能。
在SAP CDS视图中,通常会涉及到多个实体(表)之间的连接操作,例如INNER JOIN、LEFT OUTER JOIN等。在传统的连接方式中,连接操作会在查询开始时立即执行,这可能会导致不必要的开销,特别是在某些查询中可能并不需要连接的情况下。
使用
Join on demand特性,可以将连接操作推迟到实际需要时再执行。这意味着如果您的查询不需要连接的数据,连接操作就不会发生,从而提高了查询的效率。
以下是一个简单的示例,演示了如何在SAP CDS视图中使用
Join on demand:
假设我们有两个实体(表):
SalesOrder和
Customer。我们希望创建一个CDS视图,显示销售订单信息及其关联的客户信息。我们可以使用
Join on demand来实现这一点。
首先,定义
SalesOrder实体:
然后,定义
Customer实体:
接下来,创建一个CDS视图,使用
Join on demand来连接
SalesOrder和
Customer:
在上面的代码中,我们使用了
association来定义
SalesOrder和
Customer之间的连接。关键是,我们在连接上使用了
[0..1],这表示在查询时仅在需要时才执行连接操作,而不是立即执行。这就是
Join on demand的关键部分。
通过这种方式,当我们查询
SalesOrderWithCustomer视图时,连接操作将会根据需要来执行,而不会在每次查询时都执行,从而提高了查询性能。
总而言之,
Join on demand是SAP CDS视图中的一个重要特性,它通过延迟连接操作的执行来优化查询性能。这在处理大量数据和复杂查询时特别有用,可以减少数据库负担,提高查询效率。通过合理使用
Join on demand,您可以在CDS视图中实现更高效的数据模型和查询。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24475491/viewspace-2978183/ ,如需转载,请注明出处,否则将追究法律责任。