对于压缩立方中的度量,聚集子系统负责确定最佳的计算策略。稀疏维将变灰,并且您只能为密集维 (如果有) 选择级别。
可以分两个不同的时间计算聚集数据:
如果需要,则在运行时计算。聚集值的单元是 NA (即为空),直到查询请求这些聚集值。然后,为响应查询而计算聚集。这种类型的聚集称为动态聚集或运行时聚集。运行时聚集会延长查询时间,因为必须计算数据而不是只是检索数据,不过这种聚集不需要在永久表空间中存储聚集值。
如果维具有多个层次,或者如果层次具有许多级别,则完全聚集度量会以几何级数增大分析工作区的大小 (从而会增大数据库的大小)。但同时,却很少或根本不访问许多中间级别数据。
一种典型策略是组合使用这几种方法,方法是在数据维护过程中预先汇总部分数据,并根据需要预先汇总其余数据。数据立方将以完全解决的方式呈现给应用程序,并且在从存储中检索到的值与为查询计算的值之间不会检测到任何差异。
维
选择各个维以查看其级别。
级别
选择要计算的级别,并在构建过程中进行存储。
用于标识存储数据级别的最好方法是确定每个级别上维成员的比率,并使动态计算的成员比率保持小于 10:1。此方法可确保能够快速返回所有答案集。数据可以存储在分析工作区中,或者可以通过将 10 个或更少的值累计为一个数字来进行计算。累计 10 个值所需的时间是微不足道的,并且设计良好的应用程序可以将返回集限制为分析员可以轻松地审查的数据量。您可以通过判断访问某个级别的频率来修改该比率。
变化较慢的维在聚集时所花的时间较长,因为数据在它的整个存储空间中是分散的。如果要针对数据维护进行优化,则应完全聚集变化较快的维,并对变化较慢的维使用跳转级别的聚集。
版权所有 © 2003,2007,Oracle。保留所有权利。