Это действительно зависит от вашего варианта использования (см. Ниже), но сохранение как TEXT
имеет проблемы с производительностью, и огромное значение VARCHAR
звучит как излишнее в большинстве случаев.
Мой подход: используйте щедрую, но не чрезмерно большую длину VARCHAR
, например VARCHAR(500)
или около того, и поощряйте пользователей, которым нужен более крупный URL, использовать сокращатель URL, например safe.mn
.
Подход Twitter: Для действительно приятного UX обеспечьте автоматическое сокращение URL-адресов для слишком длинных URL-адресов и сохраните «отображаемую версию» ссылки в виде фрагмента URL с эллипсами в конце , (Пример: http://stackoverflow.com/q/219569/1235702
будет отображаться как stackoverflow.com/q/21956...
и будет ссылаться на сокращенный URL http://ex.ampl/e1234
)
Примечания и предостережения
- Очевидно, что подход Twitter лучше, но для нужд моего приложения достаточно было рекомендовать укорочение URL.
- Укороченные URL-адреса имеют свои недостатки, такие как проблемы безопасности. В моем случае это не огромный риск, потому что URL-адреса не являются общедоступными и не используются; однако, это очевидно не будет работать для всех. По всей видимости, safe.mn блокирует множество спамовых и фишинговых URL, но я все равно рекомендую осторожность.
- Обязательно обратите внимание, что вы не должны заставлять своих пользователей использовать сокращатель URL. В большинстве случаев (по крайней мере, для нужд моего приложения) 500 символов слишком много для того, для чего его будет использовать большинство пользователей. Использовать / рекомендовать сокращение URL только для слишком длинных ссылок.