博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL Server以Online模式创建索引
阅读量:5843 次
发布时间:2019-06-18

本文共 661 字,大约阅读时间需要 2 分钟。

英文原文:   

 

如果你正在一个存在数据的表上创建新的索引,所有存在的行将会被索引作为CREATE INDEX语句的一部分。如果表非常大,索引过程将会花费些时间。索引过程对其他用户会话的影响,基于SQL Server

是使用Offline模式还是Online模式。

 

默认,SQL Server以Offline模式执行索引操作,索引操作期间有表锁请求。一个离线索引操作,创建、重建、或删除一个聚集索引,或者重建或删除一个非聚集索引,需要一个表上的架构修改(Sch-M

)锁。这阻止了所有用户在操作期间访问相应表。对一个离线索引操作,创建一个非聚集索引,在表上申请一个共享(S)锁。他阻止了对相关表的更新但是允许读操作,例如SELECT语句。

 

SQL Server Enterprise 版支持在线模式索引操作,其他的用户会话就不会被影响。

 

然而,SQL Server Express 版不支持在线模式。如果你尝试,你会获得以下错误:   

1
2
3
CREATE 
INDEX 
fyi_links_url 
ON 
fyi_links_indexed (url)    
   
WITH 
(ONLINE = 
ON
);    
GO
1
2
Online index operations can only be performed in Enterprise    
edition of SQL Server.
本文转自UltraSQL51CTO博客,原文链接:http://blog.51cto.com/ultrasql/1737335 ,如需转载请自行联系原作者
你可能感兴趣的文章
都去炒AI和大数据了,落地的事儿谁来做?
查看>>
Angular2管理外部类型定义和处理“Duplicate identifier” TypeScript错误
查看>>
python学习笔记-调用函数
查看>>
Laravel Pipeline 组件的实现
查看>>
快速入门react-native
查看>>
Java线程的状态及切换
查看>>
用ES6编写AngularJS程序是怎样一种体验
查看>>
如何使用 Xcode Targets 管理开发和生产版本?
查看>>
[译] nginx是如何处理Request的
查看>>
iOS 本地化进阶教程
查看>>
用gradle自动配置百度地图Key
查看>>
javascript链表实现
查看>>
MirageOS 3.5.0 发布,unikernels 操作系统
查看>>
《TCP IP 详解卷1:协议》阅读笔记 - 第三章
查看>>
12月17日云栖精选夜读 | 用PrettyPrinter,让Python输出更漂亮,你值得拥有
查看>>
第一届PolarDB数据库性能大赛Java选手分享
查看>>
JdbcTemplate带参数的分页查询
查看>>
SpringCloud Alibaba - Ribbon消费Nacos Discovery服务
查看>>
VPO微珀宣布完成千万人民币Pre-A融资,专注电子烟场景化消费市场
查看>>
云盘加密支持选择自定义 KMS 密钥
查看>>