sql-server - 表上的列存储索引和非聚集索引
问题描述
我们在下面有一个表定义,其中包含列存储索引和非聚集行索引。此表中的数据每天增加 10K,一年中可以有 400K ColNumber,每个 ColProperty 有 1 到多个 ColProperty。该表将主要用于读取/参考,几乎没有更新。同时拥有非聚集行索引是否有益,或者只有列存储索引就足够了?
CREATE TABLE [dbo].[SimpleTable](
[Id] [int] IDENTITY(1,1) NOT NULL,
[ColNumber] [nvarchar](50) NOT NULL,
[ColProperty] [nvarchar](50) NULL,
[ColValue] [nvarchar](150) NULL,
[ColDate] [datetime] NOT NULL
) ON [PRIMARY]
GO
CREATE CLUSTERED COLUMNSTORE INDEX CCIX_SimpleTable ON [dbo].[SimpleTable];
CREATE UNIQUE INDEX IX_SimpleTable_NumberProperty ON [dbo].[SimpleTable] (ColNumber,ColProperty);
CREATE NONCLUSTERED INDEX IX_SimpleTable_Id ON [dbo].[SimpleTable] (Id);
解决方案
推荐阅读
- android - 通过 Activity 更改持久化 RecylerView 适配器
- python - Client.py 没有连接到 server.py
- node.js - 加入两个以上的表在 sequalize 中不起作用
- javascript - 为什么单击操作按钮时附加的数字会消失?
- ruby-on-rails - 测试具有类名的属性的夹具
- angular - Angular:在库中的验证器中引用单例
- java - 如何将二维阵列逆时针旋转 90º?
- javascript - 使用 jQuery .next() 选择元素时遇到问题
- html - 如何在 R 中执行脚本的循环和迭代?
- tailwind-css - 带有汇总的 Tailwind 不处理类属性