You'll want to choose between a TEXT or VARCHAR column based on how often the URL will be used and whether you actually need the length to be unbound.
Use VARCHAR with maxlength >= 2,083 as micahwittman suggested if:
- You'll use a lot of URLs per query (unlike TEXT columns, VARCHARs are stored inline with the row)
- You're pretty sure that a URL will never exceed the row-limit of 65,535 bytes.
Use TEXT if :
- The URL really might break the 65,535 byte row limit
- Your queries won't select or update a bunch of URLs at once (or very often). This is because TEXT columns just hold a pointer inline, and the random accesses involved in retrieving the referenced data can be painful.