【发布时间】:2017-06-07 04:48:58
【问题描述】:
在匆忙下班时,我在一个具有循环分配的新表上运行了一个大型插入。我知道这不太可能,但有没有办法将表格的分布从循环更改为哈希分布?
【问题讨论】:
标签: tsql azure azure-sql-database data-warehouse
在匆忙下班时,我在一个具有循环分配的新表上运行了一个大型插入。我知道这不太可能,但有没有办法将表格的分布从循环更改为哈希分布?
【问题讨论】:
标签: tsql azure azure-sql-database data-warehouse
很遗憾,ALTER TABLE 不支持更改 Azure SQL 数据仓库中的表分布。您可以做的下一个最好的事情是使用CTAS 创建表的副本,删除原始表,然后重命名新表,如下所示:
CREATE TABLE dbo.yourTable2
WITH (
CLUSTERED COLUMNSTORE INDEX,
DISTRIBUTION = HASH ( yourColumn )
)
AS
SELECT *
FROM dbo.yourTable
OPTION ( LABEL = 'CTAS: Change distribution on dbo.yourTable' );
GO
DROP TABLE dbo.yourTable
GO
RENAME OBJECT dbo.yourTable2 TO yourTable;
GO
【讨论】: