sql-server - varchar 和 nvarchar SQL Server 数据类型之间的主要性能差异是什么?

标签 sql-server sql-server-2005 storage varchar nvarchar

我正在使用 SQL Server 2005 为学校的一个小型 Web 应用程序开发数据库。
我看到关于 varcharnvarchar 问题的几种思想流派:

  1. 使用varchar,除非您处理大量国际化数据,然后使用nvarchar
  2. 只需使用 nvarchar 即可完成所有操作。

我开始看到 View 2 的优点。我知道 nvarchar 确实占用了两倍的空间,但这不一定是一个大问题,因为它只会存储几百个学生的数据。对我来说,最简单的方法就是不用担心这个问题,只允许所有内容都使用 nvarchar。还是我遗漏了什么?

最佳答案

磁盘空间不是问题...但内存和性能才是问题。 双倍页面读取、双倍索引大小、奇怪的 LIKE 和 = 恒定行为等

是否需要存储中文等脚本?是或否...

来自 MS BOL“Storage and Performance Effects of Unicode

编辑:

最近的 SO 问题强调了 nvarchar 性能有多糟糕......

SQL Server uses high CPU when searching inside nvarchar strings

关于sql-server - varchar 和 nvarchar SQL Server 数据类型之间的主要性能差异是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35366/

相关文章:

SQL Server 分页,具有动态排序功能?

Android 内存类型(RAM v 内部存储器)

sql-server - 对于 ASP.NET MVC Web 应用程序,将文本文件存储到 Sql Server 数据库中的最佳方法是什么?

sql - 这些之间有什么区别?

sql-server - 如何将 varchar 转换为数字以在 WHERE 子句中使用

c# - 我如何使用后面的 C# 代码中的参数调用存储过程

mysql - 多个左连接和 OR 的 SQL 问题

c# - 替换sql文件的最佳步骤

postgresql - HDD开销和最有效的存储

indexing - Apache Solr - 文档本身除了索引之外还存储在内部吗?