我有一张相当大的表,我必须维护它,其中有一些非常非常分散的索引。这似乎导致了性能问题。我希望这张表上有整洁、新鲜、清晰的索引。我也有一些相当烦人的限制:1. 这张表在任何时候都不能不可用。2. 我没有 Sql Server 企业版(即没有在线重建索引)
我最好的做法是什么?试着重新组织它们?在中等硬件条件下,对于一张约 60 万行的表,这大概需要多长时间?(数量级内的答案足够精确)
答案1
在空闲时间重新创建索引或不删除索引的情况下重新创建索引 - SQL Server 企业版具有此功能,而无法变为不可用的表需要企业版。抱歉。否则您基本上就完蛋了。我不能开着街车参加一级方程式赛车。如果没有合适的版本,我无法满足企业的高端要求。
我最好的做法是什么?只是尝试重新组织它们吗?
是的。请明智地选择你的时间(例如休息)。
在中等硬件条件下,对于一张约 60 万行的表来说,这大约需要多长时间?
定义中等硬件?4 核,16GB RAM,大约 10 个高端光盘 - 可能在几分钟内(我在 10 分钟内将 6.5 亿行合并到中档服务器上的表中)。
请注意,您对“中等”的定义可能会有所不同 - 但对我来说,任何适合一个机架箱的东西都是中等的。