.NET сжатие XML для хранения в базе данных SQL Server

В настоящее время наше приложение .NET создает данные XML в памяти, которые мы сохраняем в базе данных SQL Server. Объект XElement преобразуется в строку с помощью ToString () и затем сохраняется в столбце varchar (MAX) в БД. Мы не хотим использовать тип данных SQL XML, поскольку нам не требуется проверка, а SQL не нужно запрашивать XML на любом этапе.

Хотя эта реализация работает нормально, мы хотим уменьшить размер базы данных, сжимая XML перед его сохранением и распаковывая его после извлечения. Есть ли у кого-нибудь пример кода для сжатия объекта XElement (и распаковка тоже будет здорово)? Кроме того, какие изменения мне нужно внести в тип данных столбца базы данных, чтобы мы могли в полной мере воспользоваться этим сжатием?

Я снова исследовал тип данных XML, предлагаемый SQL Server 2005, и издержки проверки, которые он предлагает, слишком высоки, чтобы мы могли рассмотреть его использование. Кроме того, хотя он несколько сжимает XML, он не так сильно сжимает, как класс .NET DeflateStream.

Я протестировал класс DeflateStream, записав XML-файл, который мы используем, на диск, а затем сохранил собранную версию в виде нового файла. В результате получаются отличные результаты: файл размером 16 КБ сводится к файлу размером 3 КБ, так что это лишь случай, когда это работает в памяти и сохраняется результирующие данные в БД. У кого-нибудь есть какой-нибудь пример кода для сжатия, и я должен изменить столбец varcahr (MAX) на тип, возможно, на varbinary?

заранее спасибо

Ответы на вопрос(4)

Ваш ответ на вопрос