首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在不同的文件组中自动具有非聚集索引

在不同的文件组中自动具有非聚集索引
EN

Database Administration用户
提问于 2019-02-11 05:48:03
回答 2查看 1.3K关注 0票数 2

是否有一种方法可以在DDL创建时自动将聚集索引A移动到一个文件组上,并将所有非聚集索引移动到不同的文件组B?我们有开发人员不断地创建表/索引,并且希望能够在dev环境中实现自动化。我们有一个旧的SAN硬盘驱动器,根据我们的DBA,在某些情况下,在不同文件组上分离索引可以优化性能。

https://learn.microsoft.com/en-us/sql/relational-databases/databases/database-files-and-filegroups?view=sql-server-2017

EN

回答 2

Database Administration用户

回答已采纳

发布于 2019-02-11 06:59:33

聚集索引只是一个排列良好的表。当我们在堆上创建聚集索引时,它会根据键列排列表的数据。因此,移动聚集索引意味着要将表移动到不同的文件组。

在创建索引时,Server中没有内置功能可以自动将索引移动到特定的文件组,相反,我们可以编写索引维护脚本,根据索引类型将索引移动到特定的文件组,或者在创建索引时必须指定文件组。

另外,这个链接会有帮助的,https://stackoverflow.com/questions/55187160/automatically-create-indexes-in-different-filegroup-edit-publish-profile-script

票数 2
EN

Database Administration用户

发布于 2019-03-18 10:11:40

正如前面的答案中提到的,没有内置的特性可以在不同的文件组上创建非聚集索引,但是我可以考虑为index创建多个文件组,并根据特定的标准(大小、使用频率)将非聚集索引移到这些文件组。等等)。这将是第一次耗费时间的任务,因为所有的索引将在同一时间移动,但是稍后您可以安排一个任务每周(周末)将新创建的索引移动到索引文件组。这将确保所有非聚集索引和表都位于单独的文件组上。

关于非聚集索引的移动脚本,您可以引用这个文章和这个。正如Rajesh先生已经强调的那样,聚集索引没有单独的存储空间,所以移动聚集索引就像移动表本身一样好。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/229380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档