forwarded和forwarding记录

简介:

背景:

今天被人文集forwarded和forwarding记录的事情。

简单介绍:

当堆表跟新某一个列的时候发现,不够放了,那么就在那行记录上标记forwarding,并把数据放到另外一个page,行被标记上forwarded。

有《深入解析 sql server 2008》 可以看 p272,里面稍微有点提及

关于page的资料:

     可以查看 http://www.sqlskills.com/blogs/paul/inside-the-storage-engine-anatomy-of-a-record/

复制代码
DROP TABLE bigrows;
GO
CREATE TABLE bigrows
( a int IDENTITY PRIMARY KEY,
b varchar(1600),
c varchar(1600));
GO
INSERT INTO bigrows
VALUES (REPLICATE('a', 1600), '');
INSERT INTO bigrows
VALUES (REPLICATE('b', 1600), '');
INSERT INTO bigrows
VALUES (REPLICATE('c', 1600), '');
INSERT INTO bigrows
VALUES (REPLICATE('d', 1600), '');
INSERT INTO bigrows
VALUES (REPLICATE('e', 1600), '');
GO
UPDATE bigrows
SET c = REPLICATE('x', 1600)
WHERE a = 3;
GO

DBCC IND(tst,bigrows,1)
复制代码

之后 dbcc page 就会看到a=3这一行被forward了。

返回:04e42100 00010001 00

0x04表示forwarded记录,e4210000 表示forward的page(paul blog的说法和 《深入解析 sql server 2008》说法不一致,我认为paul blog内的说法更加靠谱),中间那个1 表示fileid,最后一个1表示slowid,根据paul blog的说法:

http://www.sqlskills.com/blogs/paul/forwarding-and-forwarded-records-and-the-back-pointer-size/#comment-87661

2-byte file ID, 4-byte page-in-file, 2-byte slot ID

forwarding记录头(不包含可变数据)

返回:32000800 05000000 03000003 00530693 0c9d8c

普通记录(不包含可变数据)

返回:30000800 06000000 03000002 00510654 06

0x32其中可以通过发的paul的blog里面可以发现这个行是forwarded。之后的和普通的行格式是一样的,会发现多了1个可变列,并且存的是forwarding的page信息。

最后一个可变字段数据:00 04e22100 00010002 00  。





    本文转自 Fanr_Zh 博客园博客,原文链接:http://www.cnblogs.com/Amaranthus/p/3860939.html,如需转载请自行联系原作者


相关文章
|
6月前
|
应用服务中间件 nginx 容器
upstream server temporarily disabled while connecting to upstream(记录bug)
upstream server temporarily disabled while connecting to upstream(记录bug)
299 0
|
应用服务中间件 nginx Python
Nginx $remote_addr和$proxy_add_x_forwarded_for变量详解
Nginx $remote_addr和$proxy_add_x_forwarded_for变量详解
420 0
|
网络协议 网络架构
RIP(Routing Information Protocol,路由信息协议)
RIP是由Xerox公司在20世纪七十年代开发的,最初定义的RFC1058中。每个有RIP功能的路由器在默认情况下每隔30秒利用UDP520端口向与它直连的网络邻居广播(RIP v1)或组播(RIP v2)路由更新。因此,路由器不知道网络的全局情况,如果路由更新在网络上传播慢,将会导致网络收敛较慢,造成路由环路。为了避免路由环路,RIP采用水平分割、毒性逆转、定义最大跳数、触发更新和抑制计时器等机制来避免路由环路。
420 0
RIP(Routing Information Protocol,路由信息协议)
|
网络协议 网络架构
OSPF中的次优外部路由——Forwarding Address
在OSPF中外部路由是从ASBR(自治系统边界路由器)中导进来的(第五类的LSA)
385 0
OSPF中的次优外部路由——Forwarding Address
|
应用服务中间件 nginx
|
应用服务中间件 nginx
$http_x_forwarded_for 和 \$proxy_add_x_forwarded_for区别
在配置nginx的反向代理时,关于X-Forwarded-For的配置,我看到了两种配置:第一种: proxy_set_header X-Forwarded-For $http_x_forwarded_for; 第二种: proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 一般情况下,都是配置第二种.
5076 0
ping出现Destination Host Unreachable
版权声明:转载请注明出处:http://blog.csdn.net/dajitui2024 https://blog.csdn.net/dajitui2024/article/details/79396700 ...
2357 0
|
网络协议
|
JavaScript 前端开发