Строки, в среднем, 300 символов каждая. Это 300 или 600 байт, в зависимости от настроек Unicode. Допустим, вы используете столбец varchar(4000)
и используете (в среднем) 300 байт каждый.
Тогда у вас есть до 200 000 из них для хранения в базе данных.
Это менее 60 МБ дискового пространства. На земле баз данных это, прямо скажем, арахис. 60 ГБ хранилища - это то, что я бы назвал "средней" базой данных.
На данный момент даже 1010 * размышление о сжатии является преждевременной оптимизацией. SQL Server может обрабатывать такое количество текста без проблем. За исключением любых системных ограничений, о которых вы не упомянули, я не буду заниматься этим до тех пор, пока вы действительно не начнете видеть проблемы с производительностью, и даже тогда это, вероятно, будет результатом чего-то другого, например, плохой стратегии индексации.
А сжатие определенных видов данных, особенно очень небольших объемов данных (а 300 байтов определенно мало), может на самом деле иногда давать худшие результаты. Вы можете получить «сжатые» данные, которые на самом деле больше исходных данных. Я предполагаю, что в большинстве случаев сжатый размер, вероятно, будет очень близок к исходному размеру.
SQL Server 2008 может выполнять сжатие на уровне страницы, что было бы несколько более полезной оптимизацией, но вы работаете на SQL Server 2005. Поэтому нет, определенно не пытайтесь сжимать отдельные значения или строк , это не будет стоить усилий и может даже ухудшить ситуацию.