sql-server - 如何结合索引和列存储索引?
问题描述
我对实施最佳实践感到困惑,我有一个包含很多字段的表,每个字段都需要聚合以用于分析和报告目的,但有时我们还需要获取基于行的记录。
实现 PRIMARY KEY + NON CLUSTERED COLUMNSTORE INDEX 或 NOT NULL UNIQUE NONCLUTERED + 聚集列存储索引会更好吗?
解决方案
这一切都取决于情况;您的数据看起来如何以及您将如何搜索该数据。
每个表肯定需要一个主键。PK 是否需要聚集取决于您是否有更适合放置聚集索引的列。(聚集索引应放置在其值不会更改并逐渐增加的列上,这意味着下一个值应该高于前一个值)。
在哪里放置索引以及索引的类型、索引中列的顺序以及是否需要“包含列”都取决于具体情况,您需要对此进行一些分析。
推荐阅读
- excel - 如何计算每头奶牛 7 天的移动平均产奶量,日期未排序。Excel
- python - 在导入前解析 django-import-export 中的字段
- java - 我的 for 循环在我的 while 循环完成后中断,它应该重申
- html - 一旦我添加了一些其他段落或标题,我的段落字体大小就会改变
- laravel - 路由存在时出现 404 not found 错误
- typescript - 与 --build 开关一起使用时,tsc typescript 3.5 中的未知构建选项“-p”
- android - 如何在带有 kotlin 的 android 应用程序中有效地使用 ParsePlatform?
- android - Kotlin Android - 更改应用启动背景颜色
- php - Laravel 日期验证不适用于 20001 年
- docker - Docker:在 Dockerfile 中设置导出路径