text类型可以存储2g以下的文本。
但是我选择text类型的时候,它的长度是16。
请问16是以什么为单位的?是字节吗?如果是的话,16个字节怎么可能存2G的数据?
如果不是,那16又是什么单位呢?

解决方案 »

  1.   

    通常情况下,text、ntext 或 image 字符串是存储在数据行外的大型(最高可达 2 GB)字符或二进制字符串。数据行只包括一个 16 字节的文本指针,该指针指向一个树的根节点,该树由映射存储串片段的页的内部指针构成。F1
      

  2.   

    int型的4是字节4*8=32位 ,大小为 ±POWER(2,31) ,上限除1
      

  3.   

    ntext、text 和 image
    用于存储大型非 Unicode 字符、Unicode 字符及二进制数据的固定长度和可变长度数据类型。Unicode 数据使用 UNICODE UCS-2 字符集。ntext可变长度 Unicode 数据的最大长度为 230 - 1 (1,073,741,823) 个字符。存储大小是所输入字符个数的两倍(以字节为单位)。ntext 在 SQL-92 中的同义词是 national text。text服务器代码页中的可变长度非 Unicode 数据的最大长度为 231-1 (2,147,483,647) 个字符。当服务器代码页使用双字节字符时,存储量仍是 2,147,483,647 字节。存储大小可能小于 2,147,483,647 字节(取决于字符串)。image可变长度二进制数据介于 0 与 231-1 (2,147,483,647) 字节之间。