1
当您将表A切换到表B时,索引数据也会被切换吗?
我目前有一个相当大的表(5-7百万行)。该表由一个过程定期重建,该过程将数据构建到登台表中,然后使用该ALTER TABLE .. SWITCH TO ..语句将数据切换到生产表中。 例: BEGIN TRAN; -- Rebuild indexes ALTER INDEX IX_NC_GroupEvent_staging_GroupName on [dbo].[GroupEvent_staging] REBUILD; ALTER INDEX IX_NC_GroupEvent_staging_Created ON [dbo].[GroupEvent_staging] REBUILD; -- Empty production table TRUNCATE TABLE [dbo].[GroupEvent]; -- Switch data from staging-table into production table ALTER TABLE [dbo].[GroupEvent_staging] SWITCH TO [dbo].[GroupEvent] COMMIT; 执行此操作时,索引(或索引数据,如果您愿意)的当前状态是否也被切换?我要问的原因有两个: 1)为了执行一条SWITCH TO语句,要求源表和目标表都必须包含相同的索引。这使我相信索引数据也可能会切换,但是我不知道如何验证这一点。 2)以这种方式构建工作台的主要好处是避免在使用过程中对生产工作台进行过多的工作。自然,如果我能够在登台表上重建索引并将重建的索引与表一起切换到生产索引,那会让我感到非常高兴。