我有一个 Kimball 风格的 DW(星型模型中的事实和维度 - 没有迟到的事实行或列,除了作为类型 2 缓慢变化维度的一部分过期外,没有列的维度发生变化),每天处理繁重的插入和更新行(新日期)以及每月和每日报告流程。事实表按日期分区,以便于旧数据的滚降。
我理解这WITH(NOLOCK)
可能会导致读取未提交的数据,但是,我也不希望创建任何会导致 ETL 进程失败或阻塞的锁。
在所有情况下,当我们从 DW 中读取数据时,我们正在从事实表中读取一个不会更改的日期(事实表按日期分区)和维度表,这些数据表的属性不会因为它们链接到的事实而发生变化.
那么 - 有什么缺点吗?- 可能在执行计划或此类操作中SELECT
- 仅在同一张表上并行运行的查询。