我们知道页面是SqlServer中的基本IO单元。
假设页面中存储了多行。因此行必须相对较短。
但是当其中一个正在更新时会发生什么?整个页面会被重写吗?当只需要几个字节进行重写时,重新写入所有8k字节是否合乎逻辑?
答案 0 :(得分:1)
整个8K页面将被更新,因为这是SQL Server IO的最低级别。请记住,不仅仅是行数据本身被修改,而且页面的页面和行标题结构也可能(加上PFS页面等)。
从性能角度来看,SQL Server物理写入一个字节或整个8K页面无关紧要。在8K页面的仅内存更新之后,异步执行写入。大多数I / O成本都在IOP中。