我们正在将数据从暂存数据库转移到Kimball数据仓库DB中。对于何时禁用和重建索引,我听到了不同的想法。每个新的负载每天都会截断舞台表。假设我们有一个客户事务表,2000万行,5GB。初始负载为20mil,增量为每天10万行(不足5%)。
我正在阅读它最好的禁用索引的新批处理新负载。
(a)如果舞台表每天被截断,对于阶段:我是否应该每天禁用索引和重新启用?
Alter index all on dbo.[StageTable] disable
Insert Into StageTable values (CustomerId, SalesDate, SaleAmount)...
Alter index all on dbo.[StageTable] rebuild在实际数据仓库中,
(b)是否应重新启用和重建初始负荷索引。我是否应该为增量负载做这件事,这也是次要的?
Alter index all on dbo.[DWTable] disable
Insert Into StageTable values (CustomerId, SalesDate, SaleAmount)...
Alter index all on dbo.[DWTable] rebuild发布于 2019-02-02 21:47:01
答案取决于以下几个因素:
所以,确定你的目标是什么,然后测试每个方法。对于5GB的负载,它应该是一个快速的测试。
尽管如此,对于5GB的负载,我不会费心去优化它。SQL Server只需几秒钟就可以编写它。选择一个策略并运行它--如果需要两分钟,那么你只能让它快2分钟--这值得你花时间吗?如果你把它当作一个学习练习,用大量的数据去做--这需要30分钟。
https://dba.stackexchange.com/questions/228755
复制相似问题