Подтвердить что ты не робот

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

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

Тип: VARCHAR или NVARCHAR?

Длина?

Аналогичный вопрос для MySQL.

4b9b3361

Ответ 1

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

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

Ответ 2

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

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

Ответ 3

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

Ответ 4

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