属性层级要不要建索引?默认值已经替你选了"要"
一、它决定什么
AttributeHierarchyOptimizedState 的作用是:确定应用到属性层级上的优化级别。注意用词是"级别",不是"开关"——虽然实际取值只有两档,但设计意图是留出扩展余地。
| 项目 | 说明 |
|---|---|
| 数据类型 | 字符串(枚举) |
| 默认值 | FullyOptimized |
| 可选性 | 0 到 1,可选且最多出现一次 |
| 父元素 | 立方体属性(CubeAttribute)、维度属性(DimensionAttribute) |
二、两个取值,一句区别
| 取值 | 行为 | 代价 |
|---|---|---|
| FullyOptimized | 实例为该属性层级建立索引,以提升查询性能 | 处理时间与存储开销增加 |
| NotOptimized | 实例不额外建立索引 | 查询可能变慢,但处理更轻 |
所以真正的选择不是"优化与否",而是"用处理时间和空间,换查询速度"。
默认值是 FullyOptimized,这一点值得记住:很多"处理很慢、存储占用大"的抱怨,根源是一堆从来没被用过、但都建了索引的属性。
三、什么时候该关掉
这里有个判断依据:属性层级是否真的被当作层级来用。典型情况:
- 只用于筛选、从不做下钻的辅助属性,层级本身没意义,索引是纯浪费;
- 基数极高的属性(如订单号、身份证号),建索引收益低、代价高;
- 临时验证阶段的模型,先关掉换处理速度,定稿再开。
反过来,真正会被用户一层层展开浏览的层级(地区、品类、时间),保留默认的完全优化几乎没有争议。
四、两个父元素的差别
挂在维度属性下时,改的是维度层面的整体行为,影响所有引用它的立方体。
挂在立方体属性下时,只对当前立方体生效——同一个维度属性,可以在 A 立方体里优化、在 B 立方体里不优化。这个区分很实用:报表型立方体和探索型立方体,对查询性能的要求本来就不一样。
五、三个实操提醒
- 改配置要重新处理:优化级别影响的是实例构建的索引,改完不重处理,等于没改;
- 逐个属性评估,别整维度一刀切:一个维度里通常只有少数属性需要层级索引;
- 先量测再决定:关掉之后查询慢了多少、处理快了多少,用实际数据说话,别凭感觉。
一句话总结:默认值站在"性能优先"这一边,这在大多数分析场景是对的;但如果你有大量从不下钻的属性,它们正在悄悄消耗你的处理时间——这部分开销,值得主动收回来。
猜你喜欢
YOU LIKE- 选 AI 工具别看榜单看任务:三类日常场景的工具定位与选择顺序
- 独立站建站套餐怎么选?签约前先核对这 6 类功能,别为用不上的买单
- 冬季膏方怎么补?什么时间吃、什么人不适合、饮食怎么配
- 密码机是什么?把密钥锁进芯片的硬件加密设备
- GPT Image 2 能干嘛:文字渲染、4K、推理出图与多轮编辑
- 实习日记怎么写才有用:别记流水账,记这三类真问题
- 大棚中控屏上的 26℃、65%、800ppm,到底在管什么
- 鲜锅兔做法大全,鲜锅兔的十种做法
- 浏览器报 DNS 错误打不开网页?按"缓存→DNS→设备"逐层修
- GPT-6 Astra 值得关注的能力:电脑操作、长任务记忆与安全提醒
- ChatGPT 和 Claude 怎么选:一份不偏科的多维对比
- 大促咨询爆了接不住?电商 AI 客服的「秒回 + 不胡说」怎么做到
- 三份网传求职英语稿,为什么一份都不能直接用
- 重疾险怎么挑保额?以E生平安为例看四档方案
- 卫生间瓷砖怎么选才不翻车:防滑、密度、吸水率 3 个硬指标
- 大学生什么时候该用思维导图?4个高频场景+选型思路
- 蓝屏0x0000019A:别急着重装,先从小内存转储里找出那个驱动
- 中学生考托福,2026年改版后该怎么起步
