云存储多少钱一个月_租用_如何搭建云服务器

物联网 虚拟云 浏览

小编:简介 SAP HANA功能(如计算视图和CD)允许指定联接的基数,以提高执行性能。基数指定在联接其他表时与这些表匹配的行数。使用SPS04,在普通SQL中也可以使用此功能。 通过向SQL优化器

云存储多少钱一个月_租用_如何搭建云服务器

简介

SAP HANA功能(如计算视图和CD)允许指定联接的基数,以提高执行性能。基数指定在联接其他表时与这些表匹配的行数。使用SPS04,在普通SQL中也可以使用此功能。

通过向SQL优化器证明不同表如何连接的更多信息,基数可用于创建更优化的计划。

先前的SPS04:

由于SPS04:

语法

select语句的join部分现在包含另一个可选部分–基数规范。

在可选的连接类型,可选的基数规格如下,这是默认未指定。在这之后,已经知道的JOIN关键字以及表和JOIN条件都会出现。

基数是两部分的乘积:左侧的基数和右侧的基数。这些是可能的基数,可以以任何方式组合:

用法

为了显示基数特性的示例,最初创建了两个基表,并用示例数据填充。第一个表包含销售数据,第二个表包含员工信息。这两个表通过sales order表中的employee ID和employees表中的ID连接起来,云数据库网络,

要选择所有有销售订单的员工,可以使用以下SQL:

此语句返回:

如上所述,云服务器对比,每个员工可以创建零个、一个或多个销售订单,所以基数是一对多。因此,数据存储公司,可以在语句内部使用它来为SQL优化器提供更多信息,从而提高性能:

连接修剪

基数的指定可以提高性能,因为可以创建更优化的计划。因此,如果满足某些条件,这可能导致连接修剪(跳过连接的执行)。下面的示例中描述了该功能。

要以更有意义的方式组合示例表的数据,可以创建一个视图:

此视图上的select语句可能只使用可用列的子集,例如:

即使只请求三个数据源中两个的列,也会执行所有联接,如中所示解释计划:

为了向SQL优化器提供更多细节,可以使用CREATE VIEW语句中的基数:

现在,与上面相同的select只返回一个连接的更优化的计划:

意外结果

错误的基数信息可能导致意外结果,云数据安全,因为优化器可以创建不同的计划根据信息的不同,

下面的查询将获取所有员工及其经理的姓名。如果此人没有管理者,则管理者名称使用null:

此查询生成此结果集:

基数的指定是强大的功能,可以提高性能,但如果指定错误,专属云服务器,可能会导致意外的结果。

提示

以下提示可用于连接基数的上下文:

连接\删除\使用\基数:告诉优化器更喜欢连接删除(连接修剪),如果可能

不使用\连接\删除\使用\基数:告诉优化器不喜欢连接删除(连接修剪)。此提示可用于排除意外结果。

检查联接基数:创建一个特殊计划,其中检查每个联接的基数冲突,并在发生时引发异常。

参考

SAP HANA平台的SAP HANA SQL和系统视图参考–选择语句

SAP HANA SQL和系统视图参考SAP HANA平台–提示详细信息

当前网址:http://www.vmchk.com/ps/2021/0409/73132.html

 
你可能喜欢的: