text in row(1)

作者:leen 来源:ITPOW(原创) 日期:2006-12-18

请参阅:

默认情况下,text、ntext、image 字符串存储在数据行外的大型(最大 2GB)字符串或二进制字符串,而数据行存储的是 16 字节的文本指针,该指针指向一个树的根结点,而这个树存储的是实际字符串或二进制字符串所在页的指针。

我们知道 SQL Server 中页的大小为 8KB,除去相关占用,一页的数据大小最大还不足 8KB,由于一条记录(一行数据)只能存储在一页中,所以一条记录的最大大小不可能超过 8KB,而 8KB 对于很多记录来说是不够的,比如新闻系统,于是就产生了 text、ntext、image 字段,将实际的字符串存储在行外部,而行内部只存储相关的指针,这就是为什么 text、ntext、image 类型的字段,一般不能用字符串函数的原因了。

说了这么多,我们也该引入 text in row 了,一个新闻系统,有的文章很长,有的文章很短,只有几十个字,完全可以存储在行中,而不用存储在行外部,text in row 就是在这种情况下提出的。

相关文章