Isso realmente depende do seu caso de uso (veja abaixo), mas o armazenamento TEXT
é um problema de desempenho e, VARCHAR
na maioria dos casos, parece um exagero.
Minha abordagem: use um VARCHAR
tamanho generoso, mas não excessivamente grande , como VARCHAR(500)
esse, e incentive os usuários que precisam de uma URL maior a usar um encurtador de URL como safe.mn
.
A abordagem do Twitter: para um UX realmente bom, forneça um encurtador de URL automático para URLs muito longos e armazene a "versão de exibição" do link como um trecho da URL com elipses no final. (Exemplo: http://stackoverflow.com/q/219569/1235702
seria exibido como stackoverflow.com/q/21956...
e vincularia a um URL reduzido http://ex.ampl/e1234
)
Notas e Advertências
- Obviamente, a abordagem do Twitter é melhor, mas para as necessidades do meu aplicativo, a recomendação de um encurtador de URL foi suficiente.
- Os encurtadores de URL têm suas desvantagens, como preocupações de segurança. No meu caso, não é um risco enorme, porque os URLs não são públicos e não são muito usados; no entanto, isso obviamente não funcionará para todos. O safe.mn parece bloquear muitos URLs de spam e phishing, mas eu ainda recomendaria cautela.
- Observe que você não deve forçar seus usuários a usar um encurtador de URL. Na maioria dos casos (pelo menos para as necessidades do meu aplicativo), 500 caracteres são excessivamente suficientes para o que a maioria dos usuários o usará. Use / recomende apenas um encurtador de URL para links muito longos.