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

轻量服务器_mysql备份所有数据库_免费1年

小七 141 0

最近有人问我Hana计算视图和SQL视图有什么区别。为了提供阅读材料,我通过google快速搜索了一下,大数据研发,发现的答案让我震惊。有些错误,有些遗漏,许多过时。

因此,让我给你我的扭曲…

什么是数据库视图一般?

非常简单,它提供了数据库表的特定视图。所以它不包含数据,只包含逻辑。

什么是SQL视图?

如果是SQL视图,逻辑用SQL表示。因此,SQL视图只不过是一个存储的sqlselect语句。在数据字典中查找SQL视图时可以看到这一点。

对于用户来说,该视图看起来和感觉上都像是他从中选择的另一个数据库对象。通过执行这样的SQL查询,也许?

重要的是如何执行。数据库不会简单地执行视图SQL,然后丢弃除符合条件的记录以外的所有记录。数据库试图将视图SQL和select SQL合并为一个。它由过滤器、连接和项目组成。相同的执行计划就像手动合并语句一样。

通过了解这些内部结构,很明显,视图中的某些内容对性能有害—所有这些都会阻止将select的where子句深入合并到视图定义中。但这是一个单独的话题来探讨。

什么是CalcView?

看样子,也是一样。它是使用图形用户界面定义的。

用户使用SQL从中选择…

执行计划类似。因为这个CalcView连接了更多的表,所以执行计划包含了更多的表,但是关键点是过滤条件——它仍然是首先执行的,在计算视图中也是如此。

有什么区别?

最重要的区别是CalcView有更多关于结构的信息。什么是度量?度量值是如何聚合的?所有这些都可以在CalcView编辑器中看到,例如,NETAMOUNT有一个默认的sum()聚合分配给它–请再次查看上面CalcView编辑器的屏幕截图。

如果SQL视图没有任何条件,那么只有NETAMOUNT被选中时会发生什么?仅显示NETAMOUNT的数百万行。

对CalcView的等效查询如何?:drumroll:

显示NETAMOUNT的总和。一行,因为相应的聚合是自动添加的。

用户如何获得每个产品的NETAMOUNT之和?只需从CalcView中选择两列即可。

这看起来是一个巧妙的技巧,但实际上,何为大数据,它改变了游戏规则。

CalcView有什么好处?

在旧的Business Objects时代,关系表被导入到Universe Designer中,所有的逻辑都在那里维护。这些表是如何相互关联的?什么是度量,什么是属性?度量值是如何聚合、求和、计数的…?层次结构是什么,例如从国家到地区,从城市到客户名称?哪些措施可以一起使用,哪些是不相关的?所有这些都是在宇宙中定义的。

通过将这些信息更深一层地移动到数据库层,每个人都可以利用这些定义。对CalcView执行SQL语句。oData服务正在使用此信息来允许沿层次结构树扩展数据。所有的商业智能工具都可以使用它。

如果CalcView不是事后才添加的,大数据培训哪好,而是已经成为CDS定义的一部分,如何做淘客,那么一切都是一次性的。

CalcView的背后是什么?

在SQL视图案例中,SQL语句是支持对象。对于CalcView来说,它是一个计算场景,购返利,一个关于节点如何连接以及更多内容的几乎不可读的结构。

摘要

CalcView和SQL视图的区别在于CalcView可以选择包含更多语义。业务用户以合理的方式查询数据模型所需的所有语义。在过去,这是商业智能工具的任务,提供语义层。有了CalcViews,这就被带入了数据库层,所以所有的数据库用户都可以利用这些知识