Тип столбца ESE для произвольных объектов XmlSerialize
Какой тип столбца ESE лучше всего подходит для XmlSerialize объекта в моей базе данных ESE?
И "длинный двоичный код", и "длинный текст ASCII" работают нормально.
Причина длинного бинарного файла: абсолютно уверен, что нет разговора персонажей.
Причина длинного текста: XML - это текст.
Похоже, MSDN говорит, что эти два типа отличаются только при сортировке и поиске. Очевидно, я не собираюсь создавать индексы для этого столбца; поля, которые должны быть доступны для поиска и / или сортировки, хранятся в отдельных столбцах соответствующих типов.
Безопасно ли предполагать, что любой текст UTF8, размером менее 2 ГБ, может быть сохранен и загружен из значения столбца ESE "длинный текст ASCII"?
1 ответ
Да, вы можете поместить до 2 ГБ данных текста UTF8 в любой длинный текстовый / двоичный столбец. Единственная разница между длинным двоичным и длинным текстом заключается в том, что данные нормализуются при создании индекса по столбцу. Кроме этого ESE просто сохраняет предоставленные байты в столбце без преобразования. ESE может индексировать только данные ASCII или UTF16, и приложение должно убедиться, что данные находятся в правильном формате, поэтому было бы правильнее поместить данные в длинный двоичный столбец. Поскольку вы не создаете индекс, на самом деле не будет никакой разницы.
Если вы работаете в Windows 7 или Windows Server 2008 R2, вам следует изучить сжатие столбцов. Для данных XML вы можете получить значительную экономию, просто включив сжатие.