架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 775|回复: 1

[资料] MSSQL 使用 nvarchar(max)、varbinary(max) 存储区别

[复制链接]
发表于 2023-9-9 09:36:22 | 显示全部楼层 |阅读模式
需求:项目有一个字段不会进行 where、order 查询,可以使用 nvarchar(max)、varbinary(max) 数据类型进行存储,需要考虑存储大小、查询速度、传输大小等情况。

ntext、text 和 image

未来版本中将删除ntext 、 text 和 image 数据类型。 请避免在新开发工作中使用这些数据类型,并考虑修改当前使用这些数据类型的应用程序。 请改用 nvarchar(max)、 varchar(max)和 varbinary(max)

varbinary [ ( n | max ) ]

可变长度二进制数据。 n 的取值范围为 1 至 8,000。 max 指示最大存储大小是 2^31-1 个字节。 存储大小为所输入数据的实际长度 + 2 个字节。 所输入数据的长度可以是 0 字节。 varbinary 的 ANSI SQL 同义词为 binary varying。

文档:https://learn.microsoft.com/zh-cn/sql/t-sql/data-types/binary-and-varbinary-transact-sql

nvarchar [ ( n | max ) ]

可变大小字符串数据。 n 用于定义字符串大小(以双字节为单位),并且它可能是 1 到 4,000 之间的值。 max 指示最大存储大小是 2^31-1 个字符 (2 GB)。 存储大小为 n 字节的两倍 + 2 个字节。 对于 UCS-2 编码,存储大小为 n 个字节的两倍 + 2 个字节,并且可存储的字符数也为 n。 对于 UTF-16 编码,存储大小仍为 n 个字节的两倍 + 2 个字节,但可存储的字符数可能小于 n,因为补充字符使用两个双字节(也称为代理项对)。 nvarchar 的 ISO 同义词是 national char varying 和 national character varying。

文档:https://learn.microsoft.com/zh-cn/sql/t-sql/data-types/nchar-and-nvarchar-transact-sql

新建表

数据库版本:Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64)   Sep 24 2019 13:48:23   Copyright (C) 2019 Microsoft Corporation  Enterprise Edition (64-bit)

新建两张表,字段分别使用 nvarchar(max)、varbinary(max) 数据类型存储,脚本如下:

基于 .NET 6 新建控制台应用程序

新建控制台应用,需要引用 Microsoft.Data.SqlClient,代码如下:

分别插入了相同的 30万条数据,查询如下:

QQ截图20230909093340.jpg

查看占用的存储空间,如下图:

QQ截图20230909093037.jpg

可以看到,nvarchar(max) 类型的占用了 32.555 MB,varbinary(max) 类型占用了 18.602 MB





上一篇:国行 Xbox Series X 解锁跨区教程
下一篇:SQL Server 在所有存储过程、函数、视图中搜索指定内容
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2023-9-9 09:38:11 | 显示全部楼层
插入 30 万条数据,分别都耗时 1 秒,如下:


QQ截图20230909093742.jpg
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-27 14:34

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表