sql >> Databáze >  >> RDS >> Mysql

Datový typ pro URL

Vaše otázka ponechává hodně na fantazii.

Za prvé musíme předpokládat, že účelem vašeho indexu je sloužit jako primární klíč, aby se zabránilo duplicitám. Nebudete vyvíjet aplikaci, která by uživateli někdy řekla:"Je nám líto, ve vašem zadávání dat o 1800 znacích je chyba; neodpovídají, zkuste to prosím znovu."

Za další věc musíme předpokládat, že tyto vaše adresy URL mají potenciálně mnoho parametrů CGI (?param=val¶m=val¶m=val).

Pokud jsou tyto předpoklady pravdivé, pak můžete udělat toto.

  1. Pokud potřebujete, prodlužte sloupec adresy URL jako varchar.

  2. Přidejte do tabulky sloupec hash SHA-1. Hash SHA-1 se skládá z řetězců o 40 znacích (hexadecimální číslice).

  3. Udělejte z tohoto sloupce primární klíč.

  4. Když vložíte věci do své tabulky, použijte funkci mySQL SHA1 k výpočtu hodnot hash.

  5. K přidání řádků do databáze použijte příkaz INSERT ... ON DUPLICATE KEY UPDATE mySQL.

To vám umožní udržet duplicitní adresy URL mimo vaši databázi bez zmatku způsobem, který se pěkně zvětší.

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



  1. Jak aktualizovat hodnotu cizího klíče v databázi mysql

  2. Více značek vyhledávací dotaz

  3. Nelze změnit sloupec použitý v omezení cizího klíče

  4. jak změnit sloupec api_token v token guard