sql server中大字段存储问题,如varchar(max).
搜索到相同问题答案为
1.大字段的存储,应该是在数据页中存储1个指针,也就是一个地址,指向了真正存储大字段数据的数据页
2.对于varchar(max) ,这个比较特别,也比较灵活,在数据少的时候,sql server会把数据直接存储在数据页中,如果较多,就会存储在数据页外,也就是上面的大字段存储。
3.这个lob就是上面的大字段存储,也就是large object,而行溢出是另一个概念,首先这个数据行中并没有存储lob字段,只不过超过了页8k的限制。
比如一行数据,有10个字段,都是varchar的,每个都是varchar(1000),因为一个页中还有其他的开销字节,那么就有可能超过了8K
对于第二天中的存储在数据页之外,具体在哪?望告知,谢谢