Тип столбца ESE для XmlSerialize произвольных объектов - PullRequest
2 голосов
/ 06 марта 2010

Какой тип столбца ESE является лучшим для XmlSerialize объекта в моей базе данных ESE?

И "длинный двоичный файл", и "длинный текст ASCII" работают нормально.

Причина длинного бинарного файла: абсолютно уверен, что нет разговора персонажей.

Причина длинного текста: XML - это текст.

Кажется, MSDN говорит, что эти два типа отличаются только при сортировке и поиске. Очевидно, я не собираюсь создавать индексы для этого столбца; поля, которые должны быть доступны для поиска и / или сортировки, хранятся в отдельных столбцах соответствующих типов.

Безопасно ли предполагать, что любой текст UTF8, размером менее 2 ГБ, может быть сохранен и загружен из значения столбца ESE "длинный текст ASCII"?

1 Ответ

1 голос
/ 06 марта 2010

Да, вы можете поместить до 2 ГБ данных текста UTF8 в любой длинный текстовый / двоичный столбец.Единственная разница между длинным двоичным и длинным текстом заключается в том, что данные нормализуются при создании индекса по столбцу.Кроме этого ESE просто сохраняет предоставленные байты в столбце без преобразования.ESE может индексировать только данные ASCII или UTF16, и приложение несет ответственность за то, чтобы данные были в правильном формате, поэтому было бы правильнее поместить данные в длинный двоичный столбец.Поскольку вы не создаете индекс, на самом деле никакой разницы не будет.

Если вы работаете в Windows 7 или Windows Server 2008 R2, вам следует изучить сжатие столбцов.Для данных XML вы можете получить значительную экономию, просто включив сжатие.

...