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

Jak ukládat adresy URL v MySQL

Podle specifikace DNS maximální délka názvu domény je :

255 * 3 =765 <767 (Sotva :-) )

Všimněte si však, že každá součást může mít pouze 63 znaků.

Navrhoval bych tedy rozdělit adresu URL na jednotlivé bity.

Pomocí http://foo. example.com/a/skutecne/dlouha/cesta?with=lots&of=query¶meters=that&goes=on&forever&and=ever

Asi by to stačilo:

  • příznak protokolu ["http" -> 0 ] (uložte "http" jako 0, "https" jako 1 atd.)
  • subdoména ["foo" ] (255 - 63 =192 znaků:mohl bych odečíst ještě 2, protože min tld jsou 2 znaky)
  • doména ["příklad"], ( 63 znaků)
  • tld ["com"] ( 4 znaky pro zpracování "info" tld )
  • cesta [ "a/skutečně/dlouhá/cesta" ] ( jak dlouho chcete -uložte do samostatné tabulky )
  • parametry dotazu ["with=lots&of=query¶meters=that&goes=on&forever&and=ever" ] ( ukládat do samostatné tabulky klíč/hodnota )
  • Číslo portu / autentizační položky, které se používají zřídka, mohou být v případě potřeby v samostatné klíčové tabulce.

To vám dává několik pěkných výhod:

  • Index je pouze na těch částech adresy URL, na kterých je třeba hledat (menší index!)
  • dotazy lze omezit na různé části adresy URL (každou adresu URL najdete například v doméně facebooku)
  • všechny adresy URL, které mají příliš dlouhou subdoménu/doménu, jsou falešné
  • snadno zahodit parametry dotazu.
  • snadné vyhledávání názvu domény/tld bez ohledu na malá a velká písmena
  • zahoďte syntaxi ("://" za protokolem, "." mezi subdoménou/doménou, doménou/tld, "/" mezi tld a cestou, "?" před dotazem, "&" "=" v dotaz)
  • Vyhne se hlavnímu problému s řídkou tabulkou. Většina adres URL nebude mít parametry dotazu ani dlouhé cesty. Pokud jsou tato pole v samostatné tabulce, pak vaše hlavní tabulka nebude mít zásah velikosti. Při provádění dotazů se do paměti vejde více záznamů, a proto rychlejší výkon dotazů.
  • (další výhody zde).


  1. Jak mohu použít mysqli_fetch_array() dvakrát?

  2. Příkaz MySQL Insert vs syntaxe dotazu T-SQL s příklady

  3. SQLite Zobrazit tabulky

  4. Soubor výpisu jádra a přidání kódů ladění do aplikace spustitelné pro Oracle Apps