Azure数据仓库插入到巨大的表中

时间:2017-07-06 16:22:43

标签: azure azure-sqldw sql-data-warehouse

将新数据插入Azure数据仓库中已存在的表中的商定模式似乎是......

create table dbo.MyTable_New
with (distribution = round_robin)
as

select
    Col1
    ,Col2
from dbo.MyTable

union all

select
    Col1
    ,Col2
from dbo.MyNewStuff;

现在,我们看到的是,在非常大的桌子上,这会随着时间的推移而降低,而且很明显为什么你正在阅读你已经拥有的所有东西,并重新插入它......这对我来说似乎不是最理想的......

有没有人有他们见过的替代方法,我正在考虑像分区切换这样的事情......

1 个答案:

答案 0 :(得分:2)

同意谁? CTAS 可以是一个有效的选项,但它实际上取决于您的数据量,SLA,业务流程等。例如,如果您将小卷插入已经很大的表中,我不确定CTAS有道理,为什么不INSERT?您可以在Azure SQL数据仓库中使用分区切换(例如here)。其他选项包括Azure数据工厂,SSIS(现在支持Azure SQL数据仓库),Polybase,普通INSERT

请查看以下文章,该文章提供了许多将数据加载到Azure SQL数据仓库的策略:

https://blogs.msdn.microsoft.com/sqlcat/2017/05/17/azure-sql-data-warehouse-loading-patterns-and-strategies/