SQL Server 2005中NTEXT与NVARCHAR(MAX)
2011-12-26 14:40
232 查看
NTEXT:
默认情况下,NTEXT将文本数据存储在LOB结构中, 在表结构中只存储指针,指针指向该数据在LOB中的存储位置。
NVARCHAR(MAX)
默认情况下,不超过8,000字节的数据直接存储在表结构中,超过的才和NTEXT一样将数据存储在LOB结构中。
NTEXT向NVARCHAR(MAX)的转换:
ALTER TABLE 表名 ALTER COLUMN 字段名 NVARCHAR(MAX) null
执行上面的SQL语句之后,虽然完成了转换,但数据的存储结构并没有改变,还是按照NTEXT的默认存储方式存储在LOB中。
如何实现转换后数据按NVARCHAR(MAX)的方式进行存储呢?只需执行下面的语句:
UPDATE 表名 SET 字段名 = 字段名
比如:表名是Comment,字段名是Content,SQL语句就是: UPDATE Comment SET Content = Content
实测数据:100条数据,耗时706秒。
NTEXT将在以后版本的SQL SERVER中不被支持,微软的文档中建议用NVARCHAR(MAX)取代NTEXT。
ntext, text, and image data types will be removed in a future version of Microsoft SQL Server. Avoid using these data types in new development work, and plan to modify applications that currently use them. Use nvarchar(max), varchar(max), and varbinary(max)
instead.
原文链接:http://www.cnblogs.com/dudu/archive/2009/10/17/1585152.html
相关文章推荐
- SQL Server 2005中NTEXT与NVARCHAR(MAX)
- SQL Server 2005中NTEXT与NVARCHAR(MAX)
- SQL Server 2005中NTEXT与NVARCHAR(MAX)
- SQL Server中TEXT/NTEXT字段内容替换方法总结(SQL 2005及以上建议使用VARCHAR(MAX)/NVARCHAR(MAX)代替)
- SQL Server 2005 添加了nvarchar(max),varchar(max)
- SQL Server 2005数据类型char,varchar,text ,nchar,nvarchar,ntext 等学习拾遗
- SQL Server 2005 的nvarchar(max),varchar(max)来救火
- SQL Server 2005:请使用 varchar(max)、nvarchar(max) 和 varbinary(max) 数据类型,而不要使用 text、ntext 和 image 数据类型。
- SQL Server 2005 的nvarchar(max),varchar(max)来救火
- SQL Server 2008/2005 数据类型-varchar(MAX)、nvarchar(MAX) 到底有多大?
- SQL Server 2005 的nvarchar(max),varchar(max)来救火
- SQL Server 2005数据类型char,varchar,text ,nchar,nvarchar,ntext
- SQL Server 2008 数据类型-varchar(MAX)、nvarchar(MAX) 到底有多大?
- sql server数据类型char和nchar,varchar和nvarchar,text和ntext的区别
- sql server数据类型char和nchar,varchar和nvarchar,text和ntext的区别
- Visual C# 2008+SQL Server 2005 数据库与网络开发--5.1.3 极值MAX/MIN
- SQL Server中的nchar,nvarchar,text,ntext,char,varchar比较
- 注意:在SQL SERVER中使用NChar、NVarchar和NText
- Sql Server 2005 varchar,nvarchar,narbinary类型的最大值
- 查询时带Ntext或nvarchar(Max)到底有多影响速度