sql-server – SQL Server – 当表中的行更新时会发生什么?
发布时间:2020-12-12 16:26:58 所属栏目:MsSql教程 来源:网络整理
导读:我似乎记得当表中的一行更新时,SQL Server首先删除该行,然后重新添加该行,如果存在这样的列,则具有相同的列标识值.谁能证实这一点? 解决方法 假.在大多数情况下,数据在同一页面内就地更改.使用SQL Server 2008,您实际上可以询问数据驻留在磁盘上的位置,这将
我似乎记得当表中的一行更新时,SQL Server首先删除该行,然后重新添加该行,如果存在这样的列,则具有相同的列标识值.谁能证实这一点?
解决方法假.在大多数情况下,数据在同一页面内就地更改.使用SQL Server 2008,您实际上可以询问数据驻留在磁盘上的位置,这将显示尽可能多的信息.实际上看了它,我把它全部拿回来: http://www.sqlskills.com/BLOGS/PAUL/category/On-Disk-Structures.aspx 这可以在SQL Server 2008上轻松测试.(从链接文章修改的代码) CREATE TABLE test (c1 INT,c2 VARCHAR (2000)); GO CREATE CLUSTERED INDEX test_cl ON test (c1); GO CHECKPOINT; GO INSERT INTO test VALUES (1,REPLICATE ('Paul',500)); GO CHECKPOINT; select %%physloc%%,* from test -- 0x3E01000001000000 GO UPDATE test SET c1 = 2 WHERE c1 =1; GO select %%physloc%%,* from test -- 0x3E01000001000100 ^ | notice it has changed location (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |