sql >> Database teknologi >  >> RDS >> Mysql

Datatype for URL

Dit spørgsmål overlader meget til fantasien.

For én ting må vi antage, at dit indekss formål er at tjene som en primær nøgle for at undgå dubletter. Du vil ikke udvikle en applikation, der nogensinde siger til en bruger, "beklager, der er en fejl i din dataindtastning på 1800 tegn; den stemmer ikke overens, prøv venligst igen."

For en anden ting må vi antage, at disse dine webadresser potentielt har masser af CGI-parametre (?param=val¶m=val¶m=val) i dem.

Hvis disse antagelser er sande, så er her, hvad du kan gøre.

  1. Gør din URL-kolonne længere, som en varchar, hvis du har brug for det.

  2. Tilføj en SHA-1 hashkolonne til din tabel. SHA-1 hashes består af strenge på 40 tegn (hexdigits).

  3. Gør den kolonne til din primære nøgle.

  4. Når du lægger ting i din tabel, skal du bruge mySQL SHA1-funktionen til at beregne hash-værdierne.

  5. Brug kommandoen INSERT ... ON DUPLICATE KEY UPDATE mySQL for at tilføje rækker til din database.

Dette vil lade dig holde duplikerede URL'er ude af din database uden forvirring på en måde, der skaleres pænt op.

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



  1. Udbedring af huller/huller i tal genereret af Postgres-sekvensen

  2. Initialisering af en MySQL-database implementeret i en AWS EKS

  3. postgresql returnerer 0, hvis den returnerede værdi er null

  4. MySQL Slow ved tilmelding. Enhver måde at fremskynde