Если вы готовы всегда кодировать URL-адреса своих URL-адресов перед их сохранением (Google показал пример кодирования URL-адресов 中 .doc в% E4% B8% AD.doc), тогда вы безопасное прилипание с варчаром. Если вы хотите, чтобы символы, отличные от ASCII, в ваших URL-адресах оставались читаемыми в базе данных, я бы рекомендовал nvarchar. Если вы не хотите, чтобы вас поймали, используйте nvarchar.
Поскольку IE (самый строгий из основных браузеров) не поддерживает URL-адреса длиной более 2083 символов, то (помимо любых соображений, которые могут возникнуть у вас индексации или длины строки), наиболее полезные сценарии можно охватить с помощью nvarchar (2083).
Для чего-то подобного я всегда проявляю осторожность и использую nvarchar.
Будете ли вы хранить многоязычные URL-адреса? В этом случае используйте nvarchar
, в противном случае используйте varchar
.
Изменить: Что касается длины, , поскольку IE ограничивает URL-адреса до 2083 символа , вы можете используйте это как максимальную длину вашего поля. В подобных случаях вы хотите использовать нижний общий знаменатель, поскольку ваши URL-адреса должны использоваться во всех браузерах. На самом деле это практический предел для поля, которое, скорее всего, никогда не будет содержать данных, которые приблизятся даже к пределам IE.
Для SQL Server вы захотите использовать NVARCHAR, я подумал, так как есть планы (если уже не действия) для нелатинских символов в URL-адресах. В настоящее время я действительно не вижу никаких проблем в требованиях к дополнительному хранилищу для NVARCHAR вместо VARCHAR.