http://dev.mysql.com/doc/refman/5.0/en/char.html
Значения в столбцах VARCHAR являются строками переменной длины. Длина может быть определена как значение от 0 до 255 перед MySQL 5.0.3, и от 0 до 65 535 в 5.0.3 и более поздние версии. Эффективная максимальная длина VARCHAR в MySQL 5.0.3 и позже подвергается максимальному размеру строки (65 535 байтов, который является общим для все столбцы), и используемый набор символов.Так...
< использование MySQL 5.0.3 ТЕКСТ
или
> = использование MySQL 5.0.3 VARCHAR (2083)
VARCHAR(512)
(или подобный) должно быть достаточным. Однако, так как Вы действительно не знаете максимальную длину рассматриваемых URL, я мог бы просто пойти прямо к TEXT
. Опасностью с этим является, конечно, снижение эффективности из-за CLOB
с, будучи намного медленнее, чем тип данных простой строки как VARCHAR
.
varchar(max)
для SQLServer2005
varchar(65535)
для MySQL 5.0.3 и позже
Это выделит устройство хранения данных как потребность и не должно влиять на производительность.
Большинство браузеров позволит Вам поместить очень большие объемы данных в URL, и таким образом много вещей заканчивает тем, что создало очень большие URL поэтому, если Вы будете говорить о чем-то большем чем доменной части URL, то необходимо будет использовать Столбец текста начиная с , VARCHAR/CHAR ограничены .
Я не знаю о других браузерах, но , IE7 имеет символьный предел 2083 года для HTTP, ПОЛУЧАЮТ операции . Если любые другие браузеры не имеют нижние пределы, я не вижу, почему Вам больше были бы нужны символы, чем 2083.
Большинство веб-серверов имеет предел длины URL (который является, почему существует код ошибки для "URI слишком долго"), означая, что существует практический верхний размер. Найдите предел длины по умолчанию для самых популярных веб-серверов и используйте самого большого из них как максимальный размер поля; это должно быть более чем достаточно.