使用二进制排序规则
以下注意事项将帮助您决定是旧的还是新的二进制排序规则适合实现您的 Microsoft SQL Server。在 SQL Server 的未来版本中将继续支持 BIN 及 BIN2 排序规则。
二进制排序规则基于区域设置和数据类型所定义的编码值的顺序,对数据进行排序。SQL Server 中的二进制排序规则强制使用二进制排序顺序,定义了要使用的语言区域设置和 ANSI 代码页。由于二进制排序规则相对简单,因此对改进应用程序的性能非常有用。对于非 Unicode 数据类型,数据比较将基于 ANSI 代码页中定义的码位。对于 Unicode 数据类型,数据比较将基于 Unicode 码位。对于 Unicode 数据类型的二进制排序规则,数据排序将不考虑区域设置。例如,对 Unicode 数据应用 Latin_1_General_BIN 和 Japanese_BIN,会得到完全相同的排序结果。
SQL Server 中的早期二进制排序规则对 Unicode 数据执行的是不完整的逐码位比较。更早的 SQL Server 二进制排序规则将第一个字符作为 WCHAR 比较,接下来是逐字节比较。为了实现向后兼容,将不更改现有的二进制排序规则语义。
使用二进制排序规则的准则
如果您的 Microsoft SQL Server 2005 应用程序与使用二进制排序规则的旧版 SQL Server 交互,那么请继续使用二进制排序规则。二进制排序规则可能更适合混合环境。
使用 BIN2 排序规则的准则
此版本的 SQL Server 中的二进制排序规则包含一组新的纯码位比较排序规则。客户可以选择迁移到新的二进制排序规则,以利用真正的码位比较,并且应该使用新的二进制排序规则来开发新的应用程序。新的 BIN2 后缀标识了实现新的码位排序规则语义的排序规则名称。另外,还为新的二进制排序规则添加了与 BIN2 对应的新比较标志。其优点包括更简单的应用程序开发和更清楚的语义。