Mysql
 sql >> база данни >  >> RDS >> Mysql

Тип данни за URL

Вашият въпрос оставя много на въображението.

От една страна трябва да приемем, че целта на вашия индекс е да служи като първичен ключ за избягване на дублиране. Няма да разработвате приложение, което някога казва на потребител „съжалявам, има грешка във вашия въведени данни от 1800 знака; не съвпада, моля, опитайте отново“.

От друга страна, трябва да приемем, че тези ваши URL адреси потенциално имат много CGI параметри (?param=val¶m=val¶m=val) в тях.

Ако тези предположения са верни, ето какво можете да направите.

  1. Направете вашата URL колона по-дълга, като varchar, ако е необходимо.

  2. Добавете хеш колона SHA-1 към вашата таблица. SHA-1 хешовете се състоят от низове от 40 знака (шестнадесетични цифри).

  3. Направете тази колона свой първичен ключ.

  4. Когато поставите неща в таблицата си, използвайте функцията mySQL SHA1, за да изчислите хеш стойностите.

  5. Използвайте командата INSERT ... ON DUPLICATE KEY UPDATE mySQL, за да добавите редове към вашата база данни.

Това ще ви позволи да държите дублирани URL адреси извън вашата база данни без объркване по начин, който се увеличава добре.

http://dev.mysql.com/doc /refman/5.1/en/insert-on-duplicate.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използвайте MySQL релационни бази данни в Ubuntu 9.10 (Karmic)

  2. Кой DATATYPE е по-добре да се използва TEXT или VARCHAR?

  3. Doctrine2 в Symfony2:Как мога да видя кое извикване на обект води към заявка?

  4. Mysql:Настройте формата на DATETIME на „ДД-ММ-ГГГГ ЧЧ:ММ:СС“, когато създавате таблица

  5. Поддръжка на подготвени изявления от страна на сървъра с PDO?