Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Typ danych dla adresu URL

Twoje pytanie pozostawia wiele wyobraźni.

Po pierwsze, musimy założyć, że celem indeksu jest służenie jako klucz podstawowy, aby uniknąć duplikatów. Nie będziesz tworzyć aplikacji, która kiedykolwiek mówi do użytkownika „przepraszam, we wpisie danych składającym się z 1800 znaków jest błąd; nie pasuje, spróbuj ponownie”.

Po drugie, musimy założyć, że te adresy URL potencjalnie zawierają wiele parametrów CGI (?param=val¶m=val¶m=val).

Jeśli te założenia są prawdziwe, oto co możesz zrobić.

  1. W razie potrzeby wydłuż kolumnę adresu URL jako varchar.

  2. Dodaj do tabeli hashkolumnę SHA-1. Skróty SHA-1składają się z ciągów 40 znaków (cyfry szesnastkowe).

  3. Ustaw tę kolumnę jako swój klucz podstawowy.

  4. Kiedy umieszczasz rzeczy w swojej tabeli, użyj funkcji mySQL SHA1 do obliczenia wartości skrótu.

  5. Użyj polecenia INSERT ... ON DUPLICATE KEY UPDATE mySQL, aby dodać wiersze do bazy danych.

Pozwoli to zachować zduplikowane adresy URL z bazy danych bez zamieszania w sposób, który będzie się ładnie skalował.

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. Czy mysqldump niezawodnie obsługuje dane binarne?

  2. Zduplikowane wiersze MySQL

  3. Django:Używanie niestandardowych wstawek surowego SQL z executemany i MySQL

  4. Czy kolejność pól indeksu wielokolumnowego w MySQL ma znaczenie?

  5. 3 sposoby na wykrycie, czy ciąg pasuje do wyrażenia regularnego w MySQL