Я потратил много времени на этот вечер, пытаясь найти руководство о том, какой выбор сортировки применять в моей установке SQL Server 2008 R2, но почти все онлайн в основном говорит "выберите то, что подходит вам". Чрезвычайно бесполезный.
Мой контекст - это новая разработка приложений. Я не беспокоюсь о обратной совместимости с предыдущей версией SQL Server (например, <= 2005). Я очень заинтересован в хранении данных, представляющих языки со всего мира, а не только на латинском языке. Что очень мало помогает мне найти в Интернете, мне следует избегать всех "SQL_" коллайсов. Это сужает мой выбор использования бинарного или "не двоичного" сопоставления, основанного на локали Windows.
Если я использую двоичный код, я собираюсь использовать "BIN2". Так что это мой вопрос. Как определить, следует ли использовать BIN2 или просто "Latin1_General_100_XX_XX_XX"? Мое чувство паука говорит мне, что BIN2 обеспечит сопоставление, которое "менее точное", но более общее для всех языков (и быстро!). Я также подозреваю, что двоичная сортировка чувствительна к регистру, чувствительна к акценту и чувствительна к кане (да?). Напротив, я подозреваю, что недвоичная сортировка лучше всего подходит для латинских языков.
Документация не поддерживает мои претензии выше, я делаю обоснованные догадки. Но это проблема! Почему онлайн-документация настолько тонкая, что выбор остается догадки? Даже в книге "Внутренние серверы SQL Server 2008" обсуждалось множество вариантов, не объясняя, почему и когда будет выбрана двоичная сортировка (по сравнению с сопоставлением не двоичных окон). Criminy!!!