系统城装机大师 - 固镇县祥瑞电脑科技销售部宣传站!

当前位置:首页 > 数据库 > MsSql > 详细页面

sql server临时删除/禁用非聚集索引并重新创建加回/启用的简便编程方法研究对比

时间:2020-04-19来源:电脑系统城作者:电脑系统城

问题场景:
  在大批量删除数据库表部分数据、archive数据的时候,如果数据库表的非聚集索引比较多比较大,会严重影响删除性能,这时候就需要采取适当措施,避免删除数据过程中不断去维护非聚集索引,可以先临时删除/禁用一些非聚集索引,再进行数据删除操作,提高删除性能,删除完数据后,再重新创建加回/启用这部分非聚集索引。

解决方案1:
先备份非聚集索引,然后删除非聚集索引,最后重新创建非聚集索引。删除和创建索引脚本如下:

复制代码
--临时删除非聚集索引
drop index [NonClusteredIndex-502219048] on [dbo].[table1]

--==============
--删除部分表数据
--==============

--重新创建加回非聚集索引
create nonclustered index [NonClusteredIndex-502219048] on [dbo].[table1]
(
    [num] asc
)
复制代码

解决方案2(推荐):
先禁用非聚集索引,最后重新启用非聚集索引。禁用和启用索引脚本如下:

复制代码
--临时禁用非聚集索引
alter index [NonClusteredIndex-502219048] on [dbo].[table1] disable

--==============
--删除部分表数据
--==============

--重新启用非聚集索引
alter index [NonClusteredIndex-502219048] on [dbo].[table1] rebuild
复制代码
分享到:

相关信息

  • SQL Server 数据库中的收缩数据库和文件操作

    收缩数据文件通过将数据页从文件末尾移动到更靠近文件开头的未占用的空间来恢复空间,在文件末尾创建足够的空间后,可取消对文件末尾的数据页的分配并将它们返回给文件系统,本文给大家介绍SQL Server 数据库中的收缩数据...

    2023-10-27

  • dbeaver配置SQL server连接实现

    一、需要java jdk环境,我用的比较新 二、dbeaver新建连接SQL server...

    2023-10-27

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载