Что является лучшим типом столбца для URL?

Что является лучшим типом столбца для поля URL для сервера S'L?

Тип: VARCHAR или NVARCHAR?

Длина ?

Похожий question for MySQL. .

Ответ на: "Что является лучшим типом столбца для URL?"

Количество ответов:4

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

Редактировать: Что касается длины, since IE limits URLs to being 2,083 characters you could use that as the maximum length of your field. In cases like these you want to use the lower common denominator as your URLs should be usable in all browsers. Really this is a practical cap on a field that most likely will never contain data the will get anywhere close to even IE's limits. вы могли бы использовать это как максимальная длина вашего поля. В подобных случаях вы хотите использовать нижний общий знаменатель, так как URL-адреса должны использоваться во всех браузерах. На самом деле это практическая крышка на поле, которое, скорее всего, никогда не будет содержать данные будут получать в любом месте близко даже IE пределов.

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

Для сервера S'L, вы будете хотеть использовать NVARCHAR я бы подумал, как Есть планы (если не действия уже) в движении для неримского символов в URL-адреса. Я не вижу никаких проблем в эти дни в дополнительных требований к хранению для NVARCHAR над VARCHAR.

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

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