Neil P Asked: 2017-12-23 08:05:55 +0800 CST2017-12-23 08:05:55 +0800 CST 2017-12-23 08:05:55 +0800 CST Azure SQL DW 是否支持分区视图? 772 我在数据仓库中有一个非常昂贵的连接,它不是分布对齐的。不幸的是,连接键可以为空,并且只有一半的数据有值,这意味着它不是分布键的良好候选者。 是否可以创建一个分区视图,其中表的空一半是循环分布的,另一半是分布在可用键值上的? azure-sql-data-warehouse 1 个回答 Voted Best Answer wBob 2017-12-24T03:18:46+08:002017-12-24T03:18:46+08:00 2019 年 7 月更新——截至 2019 年 7 月,Azure SQL 数据仓库现在支持物化视图。 该引擎在 SQL 数据仓库中的实现方式有所不同,因此它不像SQL Server 那样支持分区视图功能。例如CHECK,需要约束才能使它们正常工作,但CHECKAzure SQL 数据仓库不支持约束。 你可以欺骗这样的东西,即基本上是两个表的视图,每个表都按照你的描述分布,但它们必须是原始表的副本才能更改分布。这会给您的流程增加额外的复杂性。您可以使用在 SQL DW 中功能强大的CTAS创建副本,但不可能说它是否会缩短您的处理时间。 确保您已创建所有相关统计信息。根据经验,我发现int\bigint使用 columnstore 而不是使用varchar. 也许你可以举一个你的表、DDL、分布、查询和样本数据的例子,我可以看看。
2019 年 7 月更新——截至 2019 年 7 月,Azure SQL 数据仓库现在支持物化视图。
该引擎在 SQL 数据仓库中的实现方式有所不同,因此它不像SQL Server 那样支持分区视图功能。例如
CHECK
,需要约束才能使它们正常工作,但CHECK
Azure SQL 数据仓库不支持约束。你可以欺骗这样的东西,即基本上是两个表的视图,每个表都按照你的描述分布,但它们必须是原始表的副本才能更改分布。这会给您的流程增加额外的复杂性。您可以使用在 SQL DW 中功能强大的CTAS创建副本,但不可能说它是否会缩短您的处理时间。
确保您已创建所有相关统计信息。根据经验,我发现
int\bigint
使用 columnstore 而不是使用varchar
.也许你可以举一个你的表、DDL、分布、查询和样本数据的例子,我可以看看。