Какой тип данных лучше всего использовать для хранения умеренных объемов текста в SQL Server (2005)?

StackOverflow https://stackoverflow.com/questions/203780

  •  03-07-2019
  •  | 
  •  

Вопрос

Какой тип данных лучше всего использовать для хранения умеренных объемов текста в SQL Server (2005)?

Например, представьте себе таблицу, хранящую информацию о загрузках, доступных на веб-сайте.Мне нужен краткий заголовок для загрузки, скажем, varchar(20).Путь, скажем, varchar(255), тогда я хочу сохранить удобный для пользователя текст о загрузке - описание.В некоторых случаях оно может быть таким же коротким, как и заголовок, в других случаях вам может потребоваться несколько абзацев пояснений.

Что лучше?Varchar размером, скажем, 4000, или varchar(max) или что-то еще?

Это было полезно?

Решение

Максимальная длина описания программы согласно спецификации PAD (Portable Application Description) составляет 2000 символов *см. раздел «Описания программ».

http://www.asp-shareware.org/pad/spec/spec.php

Инструменты отправки сайта загрузки используют эту спецификацию, чтобы авторам было проще отправлять свое программное обеспечение.Также я думаю, что вы можете скачать пару списков, соответствующих спецификации PAD.

Поэтому я бы предложил varchar(2000), исходя из того факта, что я не хотел бы хранить больше, чем мне нужно.Для varchar(max) достаточно одной записи, но если у вас тысячи, стоимость хранения может возрасти.

Редактировать:varchar(max) может быть 2 ГБ - 1, поэтому я бы его ограничил.http://msdn.microsoft.com/en-us/library/ms176089(SQL.90).aspx

Другие советы

используйте varchar(max), вы можете поместить в него огромный текст, и размер его хранилища увеличится по мере необходимости.у вас могут быть функции группировки sql, такие как группировка по varchar (max).или вы можете выбрать текстовый тип данных, если ищете полнотекстовый поиск в SQL.

Размер должен зависеть от размера хранимых данных.Не используйте varchar (max) для поля состояния, состоящего всего из двух символов.Обычно я смотрю на наибольшее значение, которое ожидаю получить, а затем добавляю коэффициент погрешности 10–20 % при определении размера.Не забудьте использовать nvarchar, если вам нужно хранить символы Юникода.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top