CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

数据库 | Oracle | DB2 | SQL Server | MySQL | 商业智能 | BI | DBA | Sybase| SQL Server 2008

您现在的位置: IT专家网 > 数据库子站

SQL Server数据类型BLOB

作者: 戴羽,  出处:IT专家网, 责任编辑: 李书琴, 
2007-10-03 12:13
  本文解释了SQL Server用于访问和存储数据的BLOB数据类型,解析了SQL Server BLOB数据存储,访问的方法以及如果降低你的SQL Server BLOB存储的每个字节的总成本……

  【IT专家网独家】用于存储BLOB数据的数据类型

  BLOB数据是一个每条记录都拥有大量数据的字段。这个数据可以是文本格式的或二进制格式的。当在SQL Server中使用BLOB数据时,每条记录的数据量一般都远远超过了一个单独记录的8K的限制。

  有多种数据类型用于存储BLOB数据,并且它们随着时间已有所改变。可用于BLOB存储的数据类型很多年都没有变,但是在SQL Server 2005中,微软推出了许多新的数据类型。在SQL Server 2008中,微软甚至计划推出更多的数据类型,不过到目前为止,他们还没有在CTP版本中推出这些数据类型。

  在SQL Server 2000和更早的版本中,我们被限制于TEXT、NTEXT和IMAGE数据类型。TEXT数据类型是用于存储非Unicode的BLOB数据,而NTEXT数据类型是用于存储Unicode 的BLOB数据。IMAGE数据类型是用于存储二进制BLOB数据的。你可以使用IMAGE数据类型来存储任何二进制数据,例如图片、office文档、压缩数据等等。因为数据是二进制格式的,所以它可以是Unicode的也可以是非Unicode的。

  SQL Server 2005数据类型是基于VARCHAR、NVARCHAR、VARBINARY和XML的。在使用这些数据类型时,一般你会指定要存储的数据的最大规模。为了在这些字段里存储BLOB数据,你要指定字段的最大规模。这些数据类型允许你在每条记录里最大存储2GB的数据(对于字符和二进制数据是2^31位,对于Unicode数据是2^30)。微软计划在未来的微软SQL Server版本中删除TEXT、NTEXT和IMAGE数据类型,它们的使用将会被转换到新的VARCHAR(MAX)、NVARCHAR(MAX)、VARBINARY(MAX)和XML数据类型上。

CREATE TABLE BlobData

  (ID int PRIMARY KEY,

  FirstName nvarchar(30),

  LastName nvarchar(30),

  EmailAddress varchar(255),

  [Resume] nvarchar(MAX))

  在SQL Server 2008中,传说我们会得到一个叫做FILESTREAM的新的数据类型,它可以将二进制数据例如office文档存储到和普通的数据库文件不同的地方。通过将这个数据存储到和普通的MDF和NDF数据文件不同的地方,我们可以将它存储到单独的硬盘上来将访问BLOB数据对数据库中其余内容造成的性能影响降到最低。

  SQL Server BLOB数据怎么存储和访问?

  在使用TEXT、NTEXT和IMAGE数据类型时,数据是不和普通数据存储在一起的。一个被称作指针的很小的二进制值,和普通数据存储在一起。这个二进制值指向数据文件里的数据实际存储的位置。

  当存储VARCHAR(MAX)、NVARCHAR(MAX)、VARBINARY(MAX)和XML数据类型的数据时,如果数据小于一行数据8K的最大限制,那么这个数据被存储到这个页面内。但是如果这个数据比一行数据8K的最大限制大的话,它会以和存储遗留数据类型一样的存储方式来存储,并且它会通过一个二进制指针的值被访问。

  注意:这个二进制值和位置都是在后台处理的,对于用户是不可见的。

共3页。 1 2 3 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅


    
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i