Вашият въпрос оставя много на въображението.
От една страна трябва да приемем, че целта на вашия индекс е да служи като първичен ключ за избягване на дублиране. Няма да разработвате приложение, което някога казва на потребител „съжалявам, има грешка във вашия въведени данни от 1800 знака; не съвпада, моля, опитайте отново“.
От друга страна, трябва да приемем, че тези ваши URL адреси потенциално имат много CGI параметри (?param=val¶m=val¶m=val) в тях.
Ако тези предположения са верни, ето какво можете да направите.
-
Направете вашата URL колона по-дълга, като varchar, ако е необходимо.
-
Добавете хеш колона SHA-1 към вашата таблица. SHA-1 хешовете се състоят от низове от 40 знака (шестнадесетични цифри).
-
Направете тази колона свой първичен ключ.
-
Когато поставите неща в таблицата си, използвайте функцията mySQL SHA1, за да изчислите хеш стойностите.
-
Използвайте командата INSERT ... ON DUPLICATE KEY UPDATE mySQL, за да добавите редове към вашата база данни.
Това ще ви позволи да държите дублирани URL адреси извън вашата база данни без объркване по начин, който се увеличава добре.
http://dev.mysql.com/doc /refman/5.1/en/insert-on-duplicate.html