Uw vraag laat veel aan de verbeelding over.
Om te beginnen moeten we aannemen dat het doel van uw index is om als primaire sleutel te dienen om duplicaten te voorkomen. U zult geen applicatie ontwikkelen die ooit tegen een gebruiker zegt:"Sorry, er is een fout geslopen in uw gegevensinvoer van 1800 tekens; het komt niet overeen, probeer het opnieuw."
Bovendien moeten we aannemen dat deze URL's van u mogelijk veel CGI-parameters (?param=val¶m=val¶m=val) bevatten.
Als deze veronderstellingen waar zijn, kun je het volgende doen.
-
Maak uw URL-kolom langer, als een varchar, als dat nodig is.
-
Voeg een SHA-1 hashkolom toe aan uw tabel. SHA-1 hashes bestaan uit strings van 40 karakters (hexdigits).
-
Maak van die kolom uw primaire sleutel.
-
Als je dingen in je tabel plaatst, gebruik dan de mySQL SHA1-functie om de hash-waarden te berekenen.
-
Gebruik het mySQL-commando INSERT ... ON DUPLICATE KEY UPDATE om rijen aan uw database toe te voegen.
Hiermee kunt u zonder verwarring dubbele URL's uit uw database houden op een manier die goed kan worden opgeschaald.
http://dev.mysql.com/doc /refman/5.1/en/insert-on-duplicate.html