sql-server – 在巨大的表上创建聚簇索引的无痛方法?
发布时间:2020-12-12 06:20:57 所属栏目:MsSql教程 来源:网络整理
导读:因此,我们有一个客户网站抱怨性能严重缓慢.我看了一眼很明显,问题是因为Somebody Else(grrrr)设计了一个表,其中包含大约2000万条记录而没有聚集索引. 现在我想在该表上创建一个聚簇索引 – 但是在我的测试环境中,我的create index命令已经运行了一个小时,但仍
因此,我们有一个客户网站抱怨性能严重缓慢.我看了一眼很明显,问题是因为Somebody Else(grrrr)设计了一个表,其中包含大约2000万条记录而没有聚集索引.
现在我想在该表上创建一个聚簇索引 – 但是在我的测试环境中,我的create index命令已经运行了一个小时,但仍然没有完成.客户站点是一个全天候工作的车间,在创建索引时无法承受一小时的停机时间. 是否有一些较少的暴力创建索引的方法,既可以快速完成工作,也可以以一种聪明的方式进行,在繁忙时不会完全破坏服务器的性能? 我们正在使用SQL Server企业版. 解决方法>如果您的SQL Server是Enterprise Edition且表没有任何BLOB字段 – CREATE CLUSTERED INDEX … WITH(ONLINE = ON) >如果不是 – 除了创建具有相同模式的表并且明智地向其传输数据之外没有任何方法,包括所有INSERT / UPDATE / DELETE操作(例如,使用触发器),然后准确地删除旧表和将new重命名为旧名称 – 缺点是:slow,为服务器和存储添加额外负载(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 数据库 – 实体关系图软件
- sql-server – SQL Server Management Studio架构视图
- 索引的创建及使用(sqlserver 2000)
- SQL Server 在SQL触发器或存储过程中获取在程序登录的用户
- sql-server – 在SQL Server 2008中使用select语句和附加列
- SQLserver2005express和stdio2008安装时的常见问题
- SQLSERVER数据库、表的创建及SQL语句命令
- SqlServer基础系列――row_number() rank() dense_rank()Sq
- plsqldeveloper – PL/SQL Developer上的主题或外观
- 2009年最新版 win2003 IIS6+PHP5+MySQL5+Zend Optimizer+ph