SQL Server排序规则选择
|
我今晚花了很多时间试图找到有关在我的SQL Server 2008 R2安装中应用哪种排序规则的指南,但是几乎所有在线内容都基本上说“选择适合您的内容”。极其无济于事。
我的背景是新的应用程序开发。我不必担心与SQL Server早期版本(即<= 2005)的向后兼容性。我对存储代表全球语言的数据非常感兴趣,而不仅仅是基于拉丁语的数据。我在网上发现的几乎没有什么帮助表明我应该避免所有\“ SQL_ \”排序规则。这将我的选择范围缩小为使用基于Windows区域设置的二进制或“非二进制”排序规则。
如果我使用二进制文件,那么我应该使用\“ BIN2。\”。所以这是我的问题。如何确定应使用BIN2还是仅使用“ Latin1_General_100_XX_XX_XX \”?我的蜘蛛侠告诉我,BIN2将提供“不太准确”的排序规则,但对所有语言而言,归类更为通用(而且速度更快!)。我也怀疑二进制排序规则区分大小写,区分重音和假名(是吗?)。相比之下,我怀疑非二进制排序规则最适合基于拉丁语的语言。
该文档不支持我的上述主张,我正在做出有根据的猜测。但这是问题!为什么在线文档如此之薄,以至于您只能凭空猜测呢?甚至《 SQL Server 2008 Internals》一书也讨论了各种选择,但没有说明为什么以及何时选择二进制排序规则(与非二进制Windows排序规则相比)。犯罪!!
没有找到相关结果
已邀请:
4 个回复
勘掸府迫路
芭隘的盘石
字符集所定义!如果不这样做,您将无法在表格中混合来自不同来源(拉丁文,西里尔文,阿拉伯文等)的文本。 也就是说,您的排序规则选择将主要影响以下内容: 排序顺序或在\'e \'和\'é\'或\'c \'和\'ç\'之类的字符之间设置的排序规则(应该将它们视为相等还是不相等?)。在某些情况下,整理序列的确会考虑特定的字母组合,就像在匈牙利语中一样,其中C和CS或D,DZ和DZS被独立考虑。 分析空格(或其他非字母字符)的方式:正确的“字母顺序”是哪一个? 这个(空格被认为是“'第一等级'”字符)?
还是这个(排序中不考虑空格)?
排序规则也会影响区分大小写:是否必须将大写字母视为与小写字母相似?
蹄寄噬非芹
嗓瑰