Sql server中的 nvarchar(max) 到底有多大?(转载)
问题:
SQL server中的nvarchar(max)最大的长度是4000个字吗?
如果字段的内容超过4000个字时用什么类型呢?text 还是binary?他们的最大长度是多少?比如字段放的是长篇小说的内容之类的..谢谢 !
回答:
MSDN官方解答
varchar ( max) 注解如下: varchar [ ( n | max) ] 可变长度,非 Unicode 字符数据。n 的取值范围为 1 至 8,000。max 指示最大存储大小是 2^31-1 个字节. 在 Microsoft SQL Server 的未来版本中将删除 ntext、text 和 image 数据类型。请避免在新开发工作中使用这些数据类型,并考虑修改当前使用这些数据类型的应用程序。
所以:
得看SQL server的版本,SQLserver2005以上 的nvarchar(max) 可以存放2G的内容,所以要是 SQL2005以上的nvarchar(max)足够你用的了。用nvarchar(max),nvarchar(max)是为了取代ntext。
补充:
varchar(max)当存储字符长度<=8000时,存储机制跟常规varchar一样,实际占用空间=字符长度+2。当存储字符长度>8000时,存储机制跟text一样。
varchar(max)支持的最大长度是系统支持的最大长度,如在32位SQL Server上其最大长度为2G字节。字符长度小于等于8000时,不管varchar还是varchar(max)都是存多少字符占多少字节。
Sql server中的 nvarchar(max) 到底有多大?(转载)的更多相关文章
- SQL Server 中VARCHAR(MAX)变量赋值引起的性能问题。
		
案例环境: 操作系统版本 : Windows Server 2008 R2 Standard SP1 数据库版本 : Microsoft SQL Server 2012 (SP1) - 11. ...
 - SQL Server中2008及以上  ldf 文件过大的解决方法
		
在SQL Server中经常遇到事务日志变大的情况,除了将数据库设置为“自动收缩”外,还可以使用下面的SQL命令进行快速清除数据库中的事务日志,命令如下: - 第一步:清空日志 ALTER DAT ...
 - 理解SQL Server中索引的概念,原理以及其他(转载)
		
简介 在SQL Server中,索引是一种增强式的存在,这意味着,即使没有索引,SQL Server仍然可以实现应有的功能.但索引可以在大多数情况下大大提升查询性能,在OLAP中尤其明显.要完全理解索 ...
 - SQL Server中的高可用性(3)----复制 (转载)
		
在本系列文章的前两篇对高可用性的意义和单实例下的高可用性做了阐述.但是当随着数据量的增长,以及对RTO和RPO要求的严格,单实例已经无法满足HA/DR方面的要求,因此需要做多实例的高可用性.本文着重对 ...
 - SQL Server中INSERT EXEC语句不能嵌套使用(转载)
		
问: I have three stored procedures Sp1, Sp2 and Sp3.The first one (Sp1) will execute the second one ( ...
 - Sql Server中的nvarchar(n)、varchar(n) 和Mysql中的char(n)、varchar(n)
		
刚才有幸看了下 nvarchar(n)和varchar(n),感觉以前的认知有误. nvarchar(n):n指的是字符个数,范围是1-4000,存储的是可变长度的Unicode字符数据. 按字符存储 ...
 - Sql Server中的nvarchar(n)和varchar(n)
		
刚才有幸看了下 nvarchar(n)和varchar(n),感觉以前的认知有误. nvarchar(n):n指的是字符个数,范围是1-4000,存储的是可变长度的Unicode字符数据. 按字符存储 ...
 - NHibernate 中使用 nvarchar(max) 类型
		
在 NHibernate 中使用字符串类型,默认会映射到字符类型,在 SQLServer 中,NVARCHAR 类型最大长度是 4000 字符,如果超过 4000,比如使用 SQL Server 中的 ...
 - SQL Server中的版本号
		
在SQL Server中,通常版本号的命名是大版本.小版本.累积更新这种形式,比如说9.X.XXX就是SQL Server 2005.下面我将把SQL Server中版本号对应的版本列出来,以 ...
 
随机推荐
- sql字符处理
			
--Description: 字符处理 --使用: 放到查询分析器里执行就可以了 --示例: select * from dbo.splitstr('12 44 45 50 56 87',' ') o ...
 - 在linux下实现mysql自动备份数据
			
使用的系统为CentOS,mysql版本为5.6 备份功能主要利用以下功能实现: mysql命令中的mysqldump命令 linux下脚本编写 linux下crontab定时任务的使用 首先确定你要 ...
 - 面试题----gcc的编译流程
			
gcc编译流程 一. 编译与处理指令: gcc -E hello.c -o a.c 如果不使用-o指定输出的文件,会默认输出到终端.所以建议使用同时使用-o选项. 还要注意:编译时会保留#pra ...
 - Lambda 遍历
			
遍历列表元素 using System; using System.Collections.Generic; using System.Linq; using System.Text; using S ...
 - JAVA WEB 三器之过滤器(Filter)
			
过滤器(Filter) 1. 简介 过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息,它是 Servlet 技术中最实用的技术,属于系统级别,主要是利用函数的回调实现.对 Jsp, ...
 - C++语言------顺序表实现,用动态数组的方法
			
C++ 中常用的一些东西,通过使用动态数组来实现顺序表, 掌握了一下知识点: 1.预处理有三中方法 宏定义,文件包含,条件编译 2.使用同名的变量时,可以在外层使用命名空间 类解决变量名重定义的错误 ...
 - [转]MSSQL中利用TOP提高IF EXISTS查询语句的性能
			
本文转自:https://blog.csdn.net/f_r_e_e_x/article/details/51704784 --有可能返回一条或多个结果集,其实我们只需要知道是否 --有数据即可,这样 ...
 - java中带参数的try(){}语法
			
带资源的try语句(try-with-resource)的最简形式为: try(Resource res = xxx)//可指定多个资源 { work with res } try块退出时,会自动调用 ...
 - MyCAT全局序列号-数据库方式
			
1.MyCat中的全局序列号介绍 在实现分库分表的情况下,数据库自增主键已无法保证自增主键的全局唯一.为此,MyCat 提供了全局 sequence,并且提供了包含本地配置和数据库配置等多种实现方式. ...
 - JS  forEach()与map() 用法(转载)
			
JavaScript中的数组遍历forEach()与map()方法以及兼容写法 原理: 高级浏览器支持forEach方法语法:forEach和map都支持2个参数:一个是回调函数(item,ind ...