SQL Server中In-Flight日志究竟是多少
发布时间:2016-08-15 22:26:02 所属栏目:MsSql教程 来源:站长网
导读:在SQL Server中,利用日志的WAL来保证关系数据库的持久性,但由于硬盘的特性,不可能使得每生成一条日志,就 直接向磁盘写一次,因此日志会被缓存起来,到一定
在SQL Server中,利用日志的WAL来保证关系数据库的持久性,但由于硬盘的特性,不可能使得每生成一条日志,就 直接向磁盘写一次,因此日志会被缓存起来,到一定数据量才会写入磁盘。这部分已经生成的,却没有写入磁盘的日志 ,就是所谓的In-Flight日志。
在SQL Server中,In-Flight的日志的大小取决于两个因素,根据Paul Randal的说法,In-Flight日志不能超过60K, 因此In-Flight的日志最大是60K,此外,如果In-Flight日志没有到60K,如果发生了Commit或Rollback,那么直接会写 入磁盘。因此日志最小为512字节,最大为60K,以512字节为单位进行增长。下面我们来看一个例子。 我们首先建立一个简单的表,循环向其中插入10W的数据,该语句会生成大量的日志,如代码清单1所示: BEGIN TRAN DECLARE @i INTEGER SET @i = 0 WHILE ( @i < 100000 ) BEGIN INSERT INTO Number VALUES ( @i ) SET @i = @i + 1 END CHECKPOINT COMMIT 代码清单1.生成大量日志的语句 数据库我以5M日志为起点,以5M递增,上面的语句导致日志自动增长,如图1所示。 图1.对应的6次日志增长 (编辑:宁德站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- SQL Server:只有GROUP BY中的最后一个条目
- 通用考试系统WebExam4推出,活动不断优惠多
- SQL Server 2008稀疏列确定列的转化
- 微软MSN延长与Overture协议 为雅虎做嫁衣?
- entity-framework – SQL FileStream Entity Framework存储
- 两种病毒发威:一个生变种 另一个诱人聊天
- 腾讯发布RTX实时协作版 联手IBM进军EIM市场
- .net – EF Code First从IQueryable中删除批次?
- sql-server – 在同一个VM上运行2个SQL Server 2014实例是否
- 鑫谷核动力500Ultra顶级游戏平台的首选电源
站长推荐
热点阅读