我在两台计算机上有两个SQL Server数据库实例(相同版本)。数据库排序规则设置为不区分大小写。我有例如:表中有name
列的3条记录。
SQL Server实例1
> select name from table1 order by name
name
-----
Adam
adam
Adam
SQL Server实例2
> select name from table1 order by name
name
-----
Adam
Adam
adam
为什么在同一个sql server数据库的两个实例中排序是不明确的?那是为什么?什么是排序算法?
答案 0 :(得分:4)
如果排序规则不区分大小写,那么所有三个值都被明确认为是相同的&对于相同有序行的顺序无法保证;没有任何东西可以作出决定,没有“自然”秩序。
观察到的顺序应该被认为是随机的,并且与服务器内部相关,例如读取/缓冲区缓存,IO队列等中可用的数据。