WEB开发网
开发学院数据库MSSQL Server 合理配置二进制排序规则 阅读

合理配置二进制排序规则

 2010-10-01 09:00:24 来源:WEB开发网   
核心提示: 在SQLServer数据库中,对于排序规则来说还有一个很有特点的地方,合理配置二进制排序规则(4),即根据排序作用域的不同,将排序规则分为了数据库排序规则、列级排序规则与表达式排序规则,还需要注意其作用域的范围,因为不同级别的排序规则设置,在创建数据库时,可以在创建数据库的语句中采用COL

在SQLServer数据库中,对于排序规则来说还有一个很有特点的地方。即根据排序作用域的不同,将排序规则分为了数据库排序规则、列级排序规则与表达式排序规则。在创建数据库时,可以在创建数据库的语句中采用COLLATE子句来指定默认的数据库排序规则。如果没有指定排序规则的话,则会为这个数据库分配样本数据库的默认排序规则,通常为Model数据库的默认排序规则。而这个model数据库的默认排序规则与SQLServer实力的默认排序规则相同。也就是说,在创建数据库时,如果没有采用更改数据库排序规则的情况下,其默认的数据库排序规则是跟SQLServer实例默认的排序规则相同。如果在列或者语句级别上没有更改默认排序规则的话,在默认情况下会采用这个数据库采用的默认排序规则。当然在后续运行中可以更改这个数据库的默认排序规则,不过需要注意的是,在更改数据库级排序规则时,不会影响列级排序规则或者表达式排序规则。

列级排序规则对表范围内有效。即在创建表时,可以利用COLLATE子句来指定每一个字符串列的排序规则。如果没有指定排序规则的话,则数据库系统会启用创建数据库时指定的默认排序规则。如果在创建表时,更改了数据库的默认排序规则并且与数据库的排序规则相矛盾,则列级排序规则要比数据库的排序规则优先级高。即此时列级排序规则会覆盖数据库的默认排序规则。

在执行Select等查询语句时,也可以在子句中进行排序规则的设置。这个就是表达式级排序规则。同理,如果没有设置排序规则的话,则其默认情况下采用的是列级别排序规则。如果设置了排序规则,而且与其他级别的排序规则相互矛盾的话,则这个排序规则优先。

可见,如果要将数据库的排序规则设置为二进制排序规则的话,还需要注意其作用域的范围。因为不同级别的排序规则设置,其优先性是不同的。

上一页  1 2 3 4 

Tags:合理 配置 二进制

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接