架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 31|回复: 1

[交流] SQL Server 在生产正式环境增加索引

[复制链接]
发表于 昨天 21:16 | 显示全部楼层 |阅读模式
需求:假如有一个表有几千万条数据,需要对该表增加一个非聚集索引,来提升查询效率,但是,数据库已经在生产环境运行着,很多应用程序对该表在执行增删改查操作,也意味多线程对该表执行着操作。如果直接对该表使用普通的添加索引语句,会导致生产环境的程序执行异常,例如可能会出现阻塞导致执行超时,如何在生产环境安全的增加索引呢?

普通增加非聚集索引 SQL 语句如下:

安全优化后的增加非聚集索引 SQL 语句如下:

解释:

ONLINE = ON 作用:允许在创建索引期间,用户仍能对表进行查询、插入、更新和删除操作(即“在线”操作),仅企业版支持。
SORT_IN_TEMPDB = ON 作用:把索引创建/重建时所需的“临时排序数据”从你的业务数据库转移到 tempdb 中,而不是放在我正在操作的那个业务数据库里。
MAXDOP = 4 作用:指定 MAXDOP 限制并行度,以确保它不会占用所有调度器,即限制该索引操作最多使用 4 个 CPU 核心(线程)并行执行。

参考:

超链接登录可见。
超链接登录可见。




上一篇:.NET/C# 开发者的瑞士军刀 LINQPad 9 购买教程
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 昨天 21:18 | 显示全部楼层
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2026-1-24 17:17

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表