Mat*_*ics 1 sql-server sql-server-2012
我们有一张包含几百万行的生产表。我们运行了这个查询,它冻结了我们的数据库,
USE ExampleDatabase
GO
CREATE NONCLUSTERED INDEX IX_Table1_URL
ON [dbo].[Table1] ([URL])
GO
GO
CREATE NONCLUSTERED INDEX IX_Table1_LastModified
ON [dbo].[Table1] ([LastModified])
GO
GO
CREATE NONCLUSTERED INDEX IX_Table2_URL
ON [dbo].[Table2] ([URL])
GO
GO
CREATE NONCLUSTERED INDEX IX_Table2_LastModified2
ON [dbo].[Table2] ([LastModified2])
GO
Run Code Online (Sandbox Code Playgroud)
我是一名对索引知识非常有限的开发人员,我不知道从哪里开始,只是添加 Table1 和 Table2 都有数百万行。
Bre*_*zar 12
如果您使用的是 SQL Server Enterprise Edition,则可以添加 ONLINE 开关:
CREATE NONCLUSTERED INDEX IX_Table1_URL
ON [dbo].[Table1] ([URL])
WITH (ONLINE=ON);
GO
Run Code Online (Sandbox Code Playgroud)
大多数索引创建将在没有阻塞的情况下发生,尽管不是全部 -阅读此 DBA.se 问答以了解有关甚至在线索引创建何时阻塞其他查询的详细信息。
但是,在创建索引期间,您的服务器可能仍会慢得多 - 创建索引可能是一项艰巨的工作,会占用 SQL Server 的存储空间。
归档时间: |
|
查看次数: |
2675 次 |
最近记录: |