Какой тип столбца является лучшим для URL? - PullRequest
45 голосов
/ 21 июля 2009

Каков наилучший тип столбца для поля URL для SQL Server?

Тип: VARCHAR или NVARCHAR?

Длина

Подобный вопрос для MySQL .

Ответы [ 4 ]

50 голосов
/ 21 июля 2009

Если вы готовы всегда кодировать URL-адреса URL-адресов перед их сохранением (например, Google показал кодировку URL-адреса 中 .doc в% E4% B8% AD.doc), то вы можете спокойно использовать varchar. Если вы хотите, чтобы не-ASCII-символы в ваших URL-адресах оставались читаемыми в базе данных, я бы порекомендовал nvarchar. Если вы не хотите, чтобы вас поймали, обратитесь за nvarchar.

Поскольку IE (наиболее ограниченный из основных браузеров) не поддерживает URL-адреса длиннее 2083 символов, то (кроме любых соображений, которые могут возникнуть при индексировании или длине строки), вы можете охватить большинство полезных сценариев с помощью nvarchar (2083 ).

10 голосов
/ 21 июля 2009

Будете ли вы хранить многоязычные URL? Если это так, используйте nvarchar, в противном случае используйте varchar.

Редактировать: Что касается длины, , поскольку IE ограничивает URL-адреса до 2083 символов , вы можете использовать это в качестве максимальной длины вашего поля. В подобных случаях вы хотите использовать нижний общий знаменатель, поскольку ваши URL-адреса должны использоваться во всех браузерах. На самом деле это практическое ограничение для поля, которое, скорее всего, никогда не будет содержать данных, которые будут где-либо приближены даже к ограничениям IE.

3 голосов
/ 21 июля 2009

Для чего-то подобного я всегда ошибаюсь и использую nvarchar.

2 голосов
/ 21 июля 2009

Для SQL Server вы захотите использовать NVARCHAR, как я подумал, поскольку существуют планы (если не действия уже) для нелатинских символов в URL. В настоящее время я не вижу никаких проблем с дополнительными требованиями к хранилищу для NVARCHAR по сравнению с VARCHAR.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...