gpt4 book ai didi

sql-server-2008 - 删除/禁用索引在 sql server 中更好

转载 作者:行者123 更新时间:2023-12-04 01:09:32 28 4
gpt4 key购买 nike

我正在写这篇文章以跟进 Changing data type of column in SQL Server

我之前的问题是我是否需要删除所有索引和约束,有人回答说我确实需要删除它们。

所以当我在网上冲浪这个话题时,我看到一些帖子说最好禁用和启用索引,而不是删除和重新创建它们。

那么哪种方法更好呢?禁用索引是否也允许您更改列的数据类型?两者有什么区别?

带有删除和创建索引的语句

DROP INDEX UX_1_COMPUTATION ON  dbo.Computation 

ALTER TABLE dbo.Computation
ALTER COLUMN ComputationID NVARCHAR(25) not null

CREATE UNIQUE INDEX UX_1_COMPUTATION ON dbo.Computation (ComputationID);

带有禁用和启用索引的语句
ALTER INDEX [UX_1_COMPUTATION ] ON  dbo.Computation DISABLE

ALTER TABLE dbo.Computation
ALTER COLUMN ComputationID NVARCHAR(25) not null

ALTER INDEX [UX_1_COMPUTATION ] ON dbo.Computation REBUILD;

最佳答案

Does disabling of index allow you to change the data type of the column as well?



它基于您选择的索引类型。当表上的聚集索引被禁用时,您无法修改列数据类型。如果您的索引是非聚集索引,那么您可以。

What is the difference between both?



禁用和删除索引的最大区别在于元数据和统计信息是否持久化。如果禁用,它们是。如果丢弃,则不会。确保在执行任一操作之前仔细权衡您的选择,并始终有办法重新创建可用的索引。

which is better way of doing it?



在您的情况下,我建议删除并重新创建索引。

关于sql-server-2008 - 删除/禁用索引在 sql server 中更好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13938784/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com