gpt4 book ai didi

sql - 为什么我会导致聚集索引更新?

转载 作者:行者123 更新时间:2023-12-03 10:24:50 26 4
gpt4 key购买 nike

我正在执行以下语句:

UPDATE TOP(1) dbo.userAccountInfo
SET Flags = Flags | @AddValue
WHERE ID = @ID;

列“ID”是具有 IDENTITY 约束的 INT PRIMARY KEY。
标志是一个 BIGINT NOT NULL。

执行路径指示正在发生聚集索引更新。非常昂贵的手术。
除了主键外,没有涵盖标志或 ID 的索引。
我觉得实际的执行路径应该是:

聚集索引查找 => 更新

最佳答案

表有两种形式:聚集索引和堆。您有一个 PRIMARY KEY 约束,因此您隐式地创建了一个聚集索引。您必须在表创建期间增加额外的长度,以免发生这种情况。 'table' 的任何更新都是聚集索引的更新,因为聚集索引 table 。
至于聚集索引更新是一项“非常昂贵的操作”,现在这是一个关于数据库如何工作的基本错误信息的都市传说。正确的说法是“影响聚集键的聚集索引更新必须更新所有非聚集索引”。

关于sql - 为什么我会导致聚集索引更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/895879/

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