为了账号安全,请及时绑定邮箱和手机立即绑定

varchar和nvarchar有什么区别?

varchar和nvarchar有什么区别?

GCT1015 2019-06-21 13:40:41
varchar和nvarchar有什么区别?只是因为nvarchar支持多字节字符?如果是这样的话,除了存储问题以外,是否真的有必要使用varchars?
查看完整描述

3 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

nvarchar列可以存储任何Unicode数据。一个varchar列仅限于8位代码页.有些人认为varchar应该被使用,因为它占用的空间更少。我相信这不是正确的答案。代码页不匹配是一种痛苦,Unicode是解决代码页问题的方法。现在有了便宜的磁盘和内存,就没有理由再浪费时间在代码页上闲逛了。

所有现代操作系统和开发平台都在内部使用Unicode。用nvarchar而不是varchar,您可以避免每次从数据库读取或写入数据库时进行编码转换。转换需要时间,而且容易出错。从转换错误中恢复是一个非平凡的问题。

如果您与只使用ASCII的应用程序进行接口,我仍然建议在数据库中使用Unicode。操作系统和数据库排序算法将更好地与Unicode一起工作。接口时,Unicode避免了转换问题。其他系统。你将为未来做好准备。而且,您可以始终验证您的数据仅限于7位ASCII,用于任何您必须维护的遗留系统,即使在享受完整Unicode存储的一些好处的同时也是如此。


查看完整回答
反对 回复 2019-06-21
?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

我总是使用nvarchar,因为它允许我构建的任何东西都能承受我扔给它的几乎任何数据。我的CMS系统使用中文是偶然的,因为我使用了nvarchar。如今,任何新的应用程序都不应该真正关注所需的空间。


查看完整回答
反对 回复 2019-06-21
  • 3 回答
  • 0 关注
  • 2452 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信