UCS-2 и SQL Server

В то время как исследует варианты для хранения в основном английских, но иногда не данных в базе данных SQL Server, которые потенциально могут быть довольно большими, я склоняюсь к хранению большей части строковых данных в формате UTF -8 закодировано.

Однако Microsoft выбрала UCS-2 по причинам, которые я не совсем понимаю, что заставляет меня сомневаться в этом наклонении. В документации для SQL Server 2012 действительно показано, как создать UDT UTF-8 , но решение для UCS-2, по-видимому, распространяется на SQL Server.

Википедия (в которой интересно отмечается, что UCS-2 устарел в пользу UTF-16) отмечает, что UTF-8 - это набор символов переменной ширины, способный кодировать любую точку данных Unicode, и что он предоставляет де-факто стандартная кодировка для обмена текстом Unicode . Таким образом, кажется, что любой символ Unicode может быть представлен в UTF-8, и, поскольку большая часть текста будет на английском языке, представление будет почти вдвое компактнее, чем в UCS-2 (я знаю, что диск «дешевый», но дисковый кеш не 't, а память не сравнивается с размерами данных, с которыми я имею дело. Многие операции ухудшаются экспоненциально, когда рабочий набор больше, чем доступная RAM).

С какими проблемами я могу столкнуться, переплыв поток UCS-2?

5
задан Community 23 May 2017 в 12:00
поделиться