云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

消息队列_拨号云服务器_高性价比

小七 141 0

消息队列_拨号云服务器_高性价比

简介

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平台–提示详细信息