用IMAGE字段来存储 上百M 的文件对象,可在SQL SERVER 2000中,IMAGE(16)字段只支持大约几十K的容量,我用的是PB9.0+SQL SERVER2000,ODBC接口,请问如何才能使IMAGE扩容,后面的16是什么意思?为什么会有16?
另外,因为要存储的文件很大,如何才能提高存储速度?
另外,因为要存储的文件很大,如何才能提高存储速度?
解决方案 »
- 一道别人的面试题
- 一个简单的SQL问题,把原来的2006改成2008.
- 如何返回发票号码的第一份号码?
- 帮忙看看这句怎么优化一下,现在执行速度奇慢
- 关于INSERT的触发器
- 百分好题怎么实现这条语句?稍微复杂。。
- .net下的数据备份与恢复
- 更新數據記錄時經常提示﹕Row cannot be located for updating,Some values may have benn changed since it was last read!
- 帮帮忙!看看是哪里不对
- sever做个存储过程向oracle 表中插数据
- 如何拒绝一个数据库用户只能通过.net程序访问,而不能通过企业管理器和查询分析器连接
- 2个表查询合并问题,帮忙一下多谢了
MicrosoftSQLServer2000将大于 8,000 个字符的字符串和大于 8,000 个字节的二进制数据存储为称作 text 和 image 的特殊数据类型。大于 4000 个字符的 Unicode 字符串被存储在 ntext 数据类型中。
例如,必须将一个有关用户信息的大文本文件 (.txt) 导入到 SQL Server 数据库中。应将这些数据作为一个数据块存储起来,而不是集成到数据表的多个列中。为了达到这个目的,可以创建一个 text 数据类型的列。然而,如果必须存储当前作为标记图象文件格式 (TIFF) 图像 (.tif) 存储的、每个大小为 10 KB 的公司徽标,则需创建一个 image 数据类型的列。
通常情况下,text、ntext 或 image 字符串是存储在数据行外的大型(可达 2GB)字符或二进制字符串。数据行只包括一个 16 字节的文本指针,该指针指向一个树的根节点,该树由映射存储串片段的页的内部指针构成。
当 text、ntext 或 image 串被存储在数据行时,SQL Server 就无须访问单独的页或页的集合来读写这些串。这使得读写 text、ntext 或 image 这些行中的串就象读写 varchar、nvarchar 或 varbinary 串一样快。
为了在数据行中存储 text、ntext 或 image 字符串,必须使用 sp_tableoption 存储过程启动 text in row 选项。
sp_tableoption N'MyTable', 'text in row', 'ON'
可以为在数据行中存储的 text、ntext 和 image 字符串指定一个从 24 到 7000 字节的最大长度(可选):
sp_tableoption N'MyTable', 'text in row', '1000'