小编Ale*_*dre的帖子

列存储是否是带有 WHERE 子句的 UPDATES 的好选择?

我正在 SQL Server 上开发一个数据库项目,我在考虑使用列存储索引是否是一个好主意。

该项目由一个表 (A) 组成,该表将包含大量行,一列具有许多重复值。每天,一包新行将添加到表中,每个包都有一个“DateId”。

之后,我需要更新一个不同的表 (B) 加入 A 并过滤 A 以获取“DateId”和其他列。

SQL 中的示例:

CREATE TABLE A (
  [Id] [BIGINT] IDENTITY(1,1) NOT NULL,
  [DateId] [INT] NOT NULL,
  [B_Id] [BIGINT] NOT NULL,
  -- other columns...
  INDEX cci_A CLUSTERED COLUMNSTORE
)

CREATE TABLE B (
  [Id] [BIGINT] IDENTITY(1,1) NOT NULL,
  -- other columns...
  INDEX cci_B CLUSTERED COLUMNSTORE
)

UPDATE B
SET ...
FROM A
INNER JOIN B ON A.B_Id = B.Id
WHERE A.DateId = @myDateId
Run Code Online (Sandbox Code Playgroud)

在这种情况下,列存储是一个不错的选择吗?

performance database-design sql-server columnstore table

0
推荐指数
1
解决办法
47
查看次数