Joe*_*ips 2 index sql-server-2008-r2
我有一个包含 6300 万个叶级行的非聚集索引。目前它没有任何包含的列。我想在网站在线时添加一个包含的列。如果我通过 SSMS GUI 执行此操作,这会显着影响性能吗?
你为什么要通过 SSMS GUI做任何事情???
尝试通过脚本以专业人士的身份进行操作。您最好的选择是使用 drop existing 在线创建索引,在此过程中更改定义以匹配新的所需架构:
create index ... on ... include ... with (online = on, drop_existing = on);
Run Code Online (Sandbox Code Playgroud)
显然,这受制于 ONLINE 操作的通常限制,并且会导致由 ONLINE 索引创建/重建操作引起的正常开销。但好消息是该操作将在线进行,不会阻塞现有查询,并且在构建新索引时旧索引可用于查询。最后会有一个查询耗尽阶段,当索引被交换时所有查询都会阻塞,但这应该是一个非常快的操作(只要没有长时间运行的用户事务阻塞交换本身)。
归档时间: |
|
查看次数: |
3878 次 |
最近记录: |