varchar和nvarchar,text和ntext;哪一种的读取速度快?varchar最长为8000,那我10000字节左右的文本用那种类型比较好?

解决方案 »

  1.   

    sql2005 用 varchar(max) 好了
      

  2.   

    sql2000的話,如果10000長度,你也只能用 text了啊
      

  3.   

    varchar和nvarchar,text和ntext;哪一种的读取速度快呢?
      

  4.   

    读出速度
    varchar和nvarchar 一样
    text和ntext一样
    varchar 比text 快好多
      

  5.   

    我现在就是用的ntext,表中有四个字段是ntext,读起来相当慢,很郁闷...!
      

  6.   

    参考:数据类型   
      在   Microsoft®   SQL   Server™   中,每个列、局部变量、表达式和参数都有一个相关的数据类型,这是指定对象可持有的数据类型(整型、字符、money   等等)的特性。SQL   Server   提供系统数据类型集,定义了可与   SQL   Server   一起使用的所有数据类型。下面列出系统提供的数据类型集。   
        
      可以定义用户定义的数据类型,其是系统提供的数据类型的别名。有关用户定义的数据类型的更多信息,请参见   sp_addtype   和创建用户定义的数据类型。   
        
      当两个具有不同数据类型、排序规则、精度、小数位数或长度的表达式通过运算符进行组合时:     
        
      通过将数据类型的优先顺序规则应用到输入表达式的数据类型来确定所得值的数据类型。有关更多信息,请参见数据类型的优先顺序。   
        
        
      如果结果数据类型为   char、varchar、text、nchar、nvarchar   或   ntext,则结果值的排序规则由排序规则的优先顺序规则决定。有关更多信息,请参见排序规则的优先顺序。   
        
        
      结果的精度、小数位数及长度取决于输入表达式的精度、小数位数及长度。有关更多信息,请参见精度、小数位数和长度。     
      SQL   Server   为   SQL-92   兼容性提供了数据类型同义词。有关更多信息,请参见数据类型同义词。   
        
      精确数字   
      整数   
      bigint   
        
      从   -2^63   (-9223372036854775808)   到   2^63-1   (9223372036854775807)   的整型数据(所有数字)。   
        
      int   
        
      从   -2^31   (-2,147,483,648)   到   2^31   -   1   (2,147,483,647)   的整型数据(所有数字)。   
        
      smallint   
        
      从   -2^15   (-32,768)   到   2^15   -   1   (32,767)   的整数数据。   
        
      tinyint   
        
      从   0   到   255   的整数数据。   
        
      bit   
      bit   
        
      1   或   0   的整数数据。   
        
      decimal   和   numeric   
      decimal   
        
      从   -10^38   +1   到   10^38   –1   的固定精度和小数位的数字数据。   
        
      numeric   
        
      功能上等同于   decimal。   
        
      money   和   smallmoney   
      money   
        
      货币数据值介于   -2^63   (-922,337,203,685,477.5808)   与   2^63   -   1   (+922,337,203,685,477.5807)   之间,精确到货币单位的千分之十。   
        
      smallmoney   
        
      货币数据值介于   -214,748.3648   与   +214,748.3647   之间,精确到货币单位的千分之十。   
        
      近似数字   
      float   
        
      从   -1.79E   +   308   到   1.79E   +   308   的浮点精度数字。   
        
      real   
        
      从   -3.40E   +   38   到   3.40E   +   38   的浮点精度数字。   
        
      datetime   和   smalldatetime   
      datetime   
        
      从   1753   年   1   月   1   日到   9999   年   12   月   31   日的日期和时间数据,精确到百分之三秒(或   3.33   毫秒)。   
        
      smalldatetime   
        
      从   1900   年   1   月   1   日到   2079   年   6   月   6   日的日期和时间数据,精确到分钟。   
        
      字符串   
      char   
        
      固定长度的非   Unicode   字符数据,最大长度为   8,000   个字符。   
        
      varchar   
        
      可变长度的非   Unicode   数据,最长为   8,000   个字符。   
        
      text   
        
      可变长度的非   Unicode   数据,最大长度为   2^31   -   1   (2,147,483,647)   个字符。   
        
      Unicode   字符串   
      nchar   
        
      固定长度的   Unicode   数据,最大长度为   4,000   个字符。     
        
      nvarchar   
        
      可变长度   Unicode   数据,其最大长度为   4,000   字符。sysname   是系统提供用户定义的数据类型,在功能上等同于   nvarchar(128),用于引用数据库对象名。   
        
      ntext   
        
      可变长度   Unicode   数据,其最大长度为   2^30   -   1   (1,073,741,823)   个字符。   
        
      二进制字符串   
      binary   
        
      固定长度的二进制数据,其最大长度为   8,000   个字节。   
        
      varbinary   
        
      可变长度的二进制数据,其最大长度为   8,000   个字节。   
        
      image   
        
      可变长度的二进制数据,其最大长度为   2^31   -   1   (2,147,483,647)   个字节。   
        
      其它数据类型   
      cursor   
        
      游标的引用。   
        
      sql_variant   
        
      一种存储   SQL   Server   支持的各种数据类型(text、ntext、timestamp   和   sql_variant   除外)值的数据类型。   
        
      table   
        
      一种特殊的数据类型,存储供以后处理的结果集。   
        
      timestamp   
        
      数据库范围的唯一数字,每次更新行时也进行更新。   
        
      uniqueidentifier   
        
      全局唯一标识符   (GUID)。  
      

  7.   

    嗯,是的,确定出在ntext上,当我不读取这些 ntext字段时,速度明显很快!