text、ntext 和 image

各个   text、ntext   和   image   值最大为   2   GB,否则将太长以致不能存储在单个数据行中。在   Microsoft®   SQL   Server™   2000   中,小的   text、ntext   或   image   值可以直接存储在行中,由于太大而不能存放在行中的值则存储在页集合内,该页集合与容纳行的其它列的数据的页分开存储。        管理员使用   sp_tableoption   中的   text   in   row   选项,指定小的   text、ntext   或   image   值是否直接存储在行中:          当   text   in   row   是   OFF   时,SQL   Server   2000   的   ntext、text   和   image   行为与  SQL   Server   7.0   版相同。对于每个   text、ntext   或   image  值,存储在数据行内的所有内容是一个   16   字节的指针。对于每一行,该指针指向   text、ntext   或   image  数据的位置。包含多个   text、ntext   或   image   列的行对每个   text、ntext或   image  列均有一个指针。             当   text   in   row   是  ON   时,SQL   Server   2000   在数据行中存储小的   text、ntext   和   image  值。只有不能存储在行中的   text、ntext   或   image   值存储在单独的页集合中。      每个表只有一个保存   text、ntext   和   image   数据的页集合。indid   =   255   的  sysindexes   行是这个集合的定位点。表内所有行的   text、ntext   和   image   数据交叉存取在这个  text   和   image   页集合内。         在   SQL   Server   2000  中,各个   text、ntext   和   image   页不局限于只包含   text、ntext   或   image  列的一个事件的数据。一个   text、ntext   或   image   页能包含多行数据,甚至能包含   text、ntext   和  image   数据的混合。        虽然用户总是将   text、ntext   和  image   数据当作单个长字节字符串来使用,但这类数据并不按那种格式存储。这类数据存储在   8   KB  页的集合内,而这些页不一定相邻。在   SQL   Server   2000   中按   B   树结构逻辑地组织页,而在SQL   Server   6.5   版及更早的版本中是在页链内将页链接在一起。SQL   Server   2000  使用的这种方法的优点在于:从字符串的中间开始操作效率更高。SQL   Server   2000   可以在   B   树中快速浏览,而   SQL   Server   6.5   版必须在页链中扫描。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值