首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与非分区表计算VIEWE相比,SAP分区表计算视图运行缓慢。

与非分区表计算VIEWE相比,SAP分区表计算视图运行缓慢。
EN

Stack Overflow用户
提问于 2018-10-15 07:06:27
回答 1查看 1.6K关注 0票数 0

我有一个大的表,接近1GB,这个表的大小每周都在增长,它有1.9亿行,我开始从HANA那里得到警报来划分这个表,所以我计划用一个列来划分这个表,这个列在Where子句中经常使用。

我的HANA系统是有8个节点的扩展系统。

为了比较分区查询性能与这个未分区表的差异,我在这个未分区表的顶部创建了计算视图,并记录了查询性能。

我使用哈希方法并按服务器数量对此表进行了分区,并以这种方式记录了查询performance.By,这样,.I创建的计算视图和记录的查询性能将具有良好的跨服务器数据分布。令我惊讶的是,与分区表计算视图相比,我的非分区表计算视图查询的性能更好。

这确实是shock.Not确定了为什么非分区表计算视图更好地响应分区表计算视图的原因。

我有计划,即输出文件,但不确定在哪里附加它。

让我知道为什么这是行为。

EN

回答 1

Stack Overflow用户

发布于 2018-10-15 09:09:08

好吧,这不是一个可以被正确回答的直截了当的问题。不过,我能做的是列举一些可能会在这里发挥作用的因素:

  • 非分区表需要对表结构进行单一访问,而分区版本至少需要对每个分区进行一次访问。
  • 如果SELECT实际上没有提供一个可以由用于分区的哈希函数计算的WHERE条件,那么所有分区都必须进行计算,并且不能进行分区剪枝。
  • 散列分区不考虑任何关于数据的附加知识,这意味着类似的数据不会存储在一起。这对数据压缩有负面影响。另外,每个分区都需要自己的一组值字典,其中单个分区/非分区表每列只需要一个字典。
  • 你说过你在使用扩展系统。如果表分区分布在不同的节点上,那么每个查询都会导致跨节点的网络通信。这是一个额外的工作负载和等待时间,只是不存在于非分区表。
  • 当连接分区表时,第一个表的每个分区必须与第二个表的每个分区连接,如果不可能按分区进行连接的话。

对于对分区表的查询比对非分区表查询慢,还有其他/更潜在的原因。所有这些都在SAP HANA管理指南中得到了广泛的解释。

作为一般指导,只有在无法避免和查询的访问模式被很好理解的情况下,才应该对表进行分区。这是绝对不是一个功能,你只是“打开”,一切都会正常工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52811381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档