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

Създаване на свой собствен TinyURL

Хората с малки URL адреси обичат да използват произволни токени, защото тогава не можете просто да тролите малките URL връзки. „Къде отива номер 2?“ "О готино!" „Къде отива номер 3?“ — Още по-хладно! Можете да въведете произволни знаци, но е малко вероятно да достигнете валидна стойност.

Тъй като ключът е доста рядък (4 стойности, всяка от които има 36* възможности, ви дава 1 679 616 уникални стойности, 5 ви дава 60 466 176), шансът за сблъсъци е малък (всъщност това е желана част от дизайна) и добър SQL индекс ще направи търсенето да бъде тривиално (всъщност, това е основното търсене на URL адреса, така че те оптимизират около него).

Ако наистина искате да избегнете търсенето и просто да изключите автоматичното увеличаване, можете да създадете функция, която превръща цяло число в низ от привидно произволни знаци с възможност за преобразуване обратно. Така "1" става "54jcdn", а "2" става "pqmw21". Подобно на Base64-кодирането, но не използва последователни знаци.

(*) Всъщност обичам да използвам по-малко от 36 знака - единичен регистр, без гласни и подобни знаци (1, l, I). Това предотвратява случайни псувни и също така улеснява някой да каже стойността на някой друг. Дори съпоставям подобни символи един с друг, като приемам "0" за "О". Ако сте изцяло базирани на машина, можете да използвате главни и малки букви и всички цифри за още по-големи възможности.



  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 cte . използването на with и вмъкване предупреждава за синтактична грешка

  2. Наистина ли имате нужда от пул за връзка с db за unicorn релси?

  3. Създаване на променлива на масив в MySQL

  4. SQL - Актуализирайте множество записи в една заявка

  5. MySQL:Актуализирайте всички редове в таблица, съвпадащи с резултатите от друга заявка