我正在将SQL Server数据库迁移到Azure数据仓库。我在较早的db中有维表,该维表具有暗ID(基本上是整数值),并且在事实表中引用了这些维表以方便数据提取。 这些暗淡的ID是使用标识列生成的。
现在,在Azure数据仓库中,标识列的值是随机生成的,我不确定是否在这里使用这些暗号。如果不使用这些ID,则可以使用文本列,但这会增加查找时间,进而降低性能。
那么,有人可以建议我应该如何在Azure数据仓库中处理这些昏暗的ID吗?
此致
Pratik
答案 0 :(得分:2)
您可以在Azure SQL数据仓库中使用标识列。这些值不是“随机”的,只是它们的排序方式与您在SQL Server的SMP版本中看到的方式不同。
https://docs.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-tables-identity
如果您希望使用替代方法,则可以使用如下计算在行插入期间分配代理键:
cast((select max(dim_sk) from dw.dim_xxx) + row_number() over (order by getdate()) as bigint) as dim_sk