sql-server – 重建索引对SQL Server有多长时间?
发布时间:2020-12-12 16:51:14 所属栏目:MsSql教程 来源:网络整理
导读:我最近继承了一个非常大且非常混乱的数据库,需要清理它.为了对大小有所了解,主数据库目前包含3个大表,每个表大约有3亿行,占用大约225GB的存储空间.每天添加超过500万行. 由于磁盘空间不足(前任没有存档旧数据或管理它的大小),我被迫从最大的表中删除了大约2.8
我最近继承了一个非常大且非常混乱的数据库,需要清理它.为了对大小有所了解,主数据库目前包含3个大表,每个表大约有3亿行,占用大约225GB的存储空间.每天添加超过500万行.
由于磁盘空间不足(前任没有存档旧数据或管理它的大小),我被迫从最大的表中删除了大约2.8亿行.这个过程需要25个多小时才能完成,在此期间需要从面向客户的应用程序中切断数据库. 现在,我需要重新索引表,因为选择和插入需要很长时间.但是,我不能无限期地使数据库脱机,我需要能够估计执行reindex所需的时间.我之前没有重新索引过如此大的表格,所以我没有任何好的参考点可以借鉴. 主表包括一个集群的,单调递增的主键,以及一个非唯一的非集群键.我有足够的磁盘空间来执行reindex. 所以我的问题是这样的:大概这个人会花多长时间?估算重建索引时间有什么好的经验法则? 解决方法没办法估计需要多长时间 – 这么多不同的东西都会产生影响.与 Paul writes about the length of a CHECKDB类似,非常类似的东西会与索引等相关.最好的答案是它过去需要多长时间?如果您无法确定,那么下一个最佳选择可能是在类似的非生产环境中尝试它,但即使这样也不一定匹配(即并发问题等会有所不同).作为旁注,您可能希望在Sql 2005及更高版本中查看ONLINE INDEX OPERATIONS …我无法添加第二个超链接,但谷歌“在线索引操作sql server”并单击顶部链接. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |