gpt4 book ai didi

sql-server - 为什么在分区 'SWITCH' 语句中源和目标必须驻留在同一文件组中?

转载 作者:行者123 更新时间:2023-12-03 00:46:47 26 4
gpt4 key购买 nike

我知道在分区之间切换需要两个分区驻留在同一文件组中。但是我无法找到任何合适的地方来了解该概念背后的原因在哪里/可能是什么。 p>

源表和目标表必须共享相同的文件组。ALTER TABLE...SWITCH 语句的源表和目标表必须驻留在同一文件组中,并且它们的大值列必须存储在同一文件组中。任何相应的索引、索引分区或索引 View 分区也必须驻留在同一文件组中。但是,文件组可以与相应表或其他相应索引的文件组不同。 http://technet.microsoft.com/en-us/library/ms191160(v=sql.105).aspx

在我的一个分区实现中:

I keep my archival table in same filegroup, perform SWITCH , then dropand recreate clustered index to move data to different filegroup.This is costing me much !

我希望将旧数据移至不同的表,即驻留在不同文件组(不同驱动器)中的可归档(用于分析目的)。但由于此限制,我已按上述方式实现

我理解遵循的概念(数据没有物理移动)。但为什么?期待诸如“由于 sql-server 页大小限制或分页概念重叠等”之类的答案。

请帮我找到或理解这个!

最佳答案

switch 语句非常高效,因为它本质上只是替换磁盘上的地址,而不是移动数据。因此,两组数据需要位于同一文件组中,以便于实现此“技巧”。

关于sql-server - 为什么在分区 'SWITCH' 语句中源和目标必须驻留在同一文件组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26257439/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com