Azure SQL 数据库:数据处理与管理的全面指南
1. 字符编码与数据类型
在 Azure SQL 中,字符编码和数据类型的选择至关重要。传统的基于 8 位代码点和国家字符集识别字符的方法过于简单且容易出错。因此,Unicode 标准采用多字节编码空间,为每种语言的字符分配不同的代码点。常见的 Unicode 编码方案有 UTF - 8 和 UTF - 16,前者每个字符用 1、2、3 或 4 个字节表示,后者用 2 或 4 个字节表示。
Azure SQL 使用 varchar
类型来表示采用 UTF - 8 编码的 Unicode 字符,但这些值必须使用以 UTF8 结尾的排序规则。而对于 UTF - 16 编码方案,Azure SQL 使用 nvarchar
类型,且该类型不依赖于排序规则。
建议在大多数情况下使用 Unicode,除非你确定字符串列中的字符只有有限的已知值。 nvarchar
类型在多数场景下是不错的选择,尽管对于能容纳在一个字节中的常见字符,它也使用 2 个字节,但 Azure SQL 有自动压缩这些值的优化机制。如果你非常关注性能并想针对常见字符进行优化,可以使用带有 UTF - 8 排序规则的 varchar
类型。
2. 计算列
除了经典列外,还可以使用特殊的计算列来表示命名表达式。例如,假设有购买产品的数量、每个单位的价格和税率,你可以创建一个函数来计算利润并提供列的值,但在某些情况下,创建一个自动重新计算的虚拟列会更好: