Reduce SQL Server table fragmentation without adding/dropping a clustered index?

前端 未结 5 670
死守一世寂寞
死守一世寂寞 2021-02-07 21:54

I have a large database (90GB data, 70GB indexes) that\'s been slowly growing for the past year, and the growth/changes has caused a large amount of internal fragmentation not o

5条回答
  •  一整个雨季
    2021-02-07 22:13

    I understand your pain in being constrained by the design of a legacy design.

    Have you the oppertunity to restore a backup of the table in question on another server and create a clustered index? It is very possible the clustered index if created on a set of narrow unique columns or an identity column will reduce the total table (data and index) size.

    In one of my legacy apps all the data was accessed via views. I was able to modify the schema of the underlying table adding an identity column and a clustered index without effecting the application.

    Another drawback of having the heap is the extra IO associated with any fowarded rows.

    I found the article below effective when I was asked if there was any PROOF that we needed a clusted index permanently on the table

    This article is by Microsoft

提交回复
热议问题