针对混合模式优化多维数据集

要最有效地使用混合模式,请执行以下操作:

  • 避免在混合模式下使用两遍计算。请改用解析顺序

  • 只要可行,应将非 0 级存储的成员转换为动态计算成员。

  • 如果转换为动态计算成员会影响相关公式的解析顺序,您可能需要调整大纲的维顺序,使解析顺序与以前的批量计算顺序和两遍计算设置一致。

    混合模式多维数据集的默认解析顺序与块存储多维数据集的计算顺序相似,但前者比后者有所增强。如果您希望使用非默认解析顺序,则可以为维和成员设置定制解析顺序。

  • 以错误的解析顺序处理的动态计算公式可能会导致查询执行太多公式,从而降低性能。如果可能,动态计算的稀疏公式应该比按层次聚合的稀疏维具有更高的解析顺序。

    在某些应用程序中,这无法实现,因为需要不同的解析顺序才能获得正确的公式结果。例如,具有单位和价格的应用程序需要在稀疏聚合之前执行销售额值,以便在较高级别获得正确的销售额值。

  • 您可能需要调整维的密集或稀疏配置(仅适用于无法使用混合引擎的情况下的块存储引擎利用率)。

  • 尽可能减小块的大小。

Essbase 管理员可以使用以下工具在混合模式下监视和优化查询性能:

  • 要限制任何单个查询可能使用的内存量,请使用 MAXFORMULACACHESIZE 配置设置。

  • 如果多维数据集的复杂成员公式具有交叉维运算符和多个 IF/ELSE 语句,则性能问题可能与公式执行有关。如果怀疑存在这种情况,您可以为公式计算激活自下而上的查询处理。这样可通过标识计算所需的交集来优化查询时间,使查询时间与输入数据大小成比例。

    要对发行版 21C 进行这些查询优化,请使用 QUERYBOTTOMUP 配置设置以及 @QUERYBOTTOMUP 计算函数。对于发行版 19C,将 IGNORECONSTANTS 配置设置与 BOTTOMUP 语法以及 @NONEMPTYTUPLE 计算函数结合使用。

  • 使用查询跟踪来监视和调试查询性能。根据您的用例,可以使用多个应用程序级别配置设置。对您认为可能存在问题的单个查询使用 QUERYTRACE 进行短期调试。将 TRACE_REPORT 用于对并发运行的查询的统计信息收集(非常适合在开发环境中调试)。在生产环境中使用 LONGQUERYTIMETHRESHOLD 将运行时间超过设置时间的任何查询的统计信息输出到应用程序日志文件中。