gpt4 book ai didi

sql-server - 使用 TRUNCATE TABLE 如何影响索引

转载 作者:行者123 更新时间:2023-12-02 11:20:49 30 4
gpt4 key购买 nike

使用 SQL Server 2005,升级到 2012

如果我有 ETL,则会执行以下操作(简化)

TRUNCATE TABLE detination
INSERT INTO detination
SELECT *
FROM source

这是否会清除索引并使用插入重建索引?我会有碎片吗?

最佳答案

假设它不会截断索引。这意味着数据库在物理上不一致。所以不可能是这样。

截断在逻辑上删除所有行并在物理上为所有分区创建新的 B 树。由于树木是新鲜的,不存在碎片。

实际上我不确定树是否分配了 0 个或 1 个页面。但没关系。我相信对于临时表来说,有一种特殊情况与临时表缓存有关。也无所谓。

您问题中的插入内容与任何其他插入内容的工作方式相同。跨语句通信方式不受前一次截断的影响。它是否会导致碎片取决于您的具体情况,恕我直言,最好放在一个新问题中。

关于sql-server - 使用 TRUNCATE TABLE 如何影响索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14076338/

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