Sql-Server
將主鍵移動到文件組 (SQL Server 2012)
如何將集群主鍵移動到新文件組?我已經找到了一種可能的“算法”,但效率極低:
- 刪除非聚集索引(需要重新使用和重建它們)
- 刪除聚集索引(需要使用整個表)
- 創建新的主鍵約束(大排序操作)
- 創建所有非聚集索引(需要排序和寫入)
有沒有更有效的方法?這是非常低效的,並且需要很長時間,因為在弱伺服器上表的大小為 50GB。
有沒有辦法跳過所有這些,只對新文件組進行重建?這不需要對數據進行任何排序。
CREATE UNIQUE CLUSTERED INDEX Your_PK_Name ON YourTable(YourColumnList) WITH (DROP_EXISTING = ON ) ON [YourOtherFileGroup]
儘管語法中沒有提到它,但它保留了邏輯 PK 屬性。