我有一个大的表,接近1GB,这个表的大小每周都在增长,它有1.9亿行,我开始从HANA那里得到警报来划分这个表,所以我计划用一个列来划分这个表,这个列在Where子句中经常使用。
我的HANA系统是有8个节点的扩展系统。
为了比较分区查询性能与这个未分区表的差异,我在这个未分区表的顶部创建了计算视图,并记录了查询性能。
我使用哈希方法并按服务器数量对此表进行了分区,并以这种方式记录了查询performance.By,这样,.I创建的计算视图和记录的查询性能将具有良好的跨服务器数据分布。令我惊讶的是,与分区表计算视图相比,我的非分区表计算视图查询的性能更好。
这确实是shock.Not确定了为什么非分区表计算视图更好地响应分区表计算视图的原因。
我有计划,即输出文件,但不确定在哪里附加它。
让我知道为什么这是行为。
发布于 2018-10-15 09:09:08
好吧,这不是一个可以被正确回答的直截了当的问题。不过,我能做的是列举一些可能会在这里发挥作用的因素:
SELECT实际上没有提供一个可以由用于分区的哈希函数计算的WHERE条件,那么所有分区都必须进行计算,并且不能进行分区剪枝。对于对分区表的查询比对非分区表查询慢,还有其他/更潜在的原因。所有这些都在SAP HANA管理指南中得到了广泛的解释。
作为一般指导,只有在无法避免和查询的访问模式被很好理解的情况下,才应该对表进行分区。这是绝对不是一个功能,你只是“打开”,一切都会正常工作。
https://stackoverflow.com/questions/52811381
复制相似问题