我有一个包含 5 个外键和 5 个值列的大型事实表(50m 行)。
我已经创建了 5 个维度表并索引了 Fact 表中的外键。到目前为止,性能非常好,使用任何维度查询事实表都非常快。
需求略有变化(表用于报告),现在用户希望能够使用连接字段查询表,该字段由两个合并的维度字段组成。
这是一个示例:
Dim1
Dim1key
Dim1Desc
Dim2
Dim2key
Dim2Desc
Fact_Data
Dim1key
Dim2key
Values1
values2
Values3
如果我使用dim1key = 5或dim2key = 10查询表,它非常快,但我现在想使用合并的 dim1 和 dim2 键查询表,例如mergekey = "5-10"。我尝试使用concat_WS('-',Dim1key,Dim2key) = "5-10"查询表, 但它非常慢并且显然没有利用任何索引。
我在这里采取的最佳行动是什么?我是否应该使用上面的 concat_ws 函数将合并列添加到我的事实表中,然后创建一个包含合并字段的新维度表,然后在事实表中索引新创建的合并列?
...或者我是否过于复杂了?只想检查拳头,因为索引非常耗时(目前使用 azure S1 Free trial DTU)
谢谢