Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Membuat TinyURL Anda sendiri

Orang-orang url kecil suka menggunakan token acak karena Anda tidak bisa begitu saja mengatur tautan url kecil. "Ke mana # 2 pergi?" "Oh keren!" "Ke mana # 3 pergi?" "Lebih keren lagi!" Anda dapat mengetikkan karakter acak tetapi kecil kemungkinan Anda akan mendapatkan nilai yang valid.

Karena kuncinya agak jarang (4 nilai masing-masing memiliki 36* kemungkinan memberi Anda 1.679.616 nilai unik, 5 memberi Anda 60.466.176) kemungkinan tabrakan kecil (memang, ini adalah bagian yang diinginkan dari desain) dan indeks SQL yang baik akan membuat pencarian menjadi sepele (memang, ini adalah pencarian utama untuk url sehingga mereka mengoptimalkan di sekitarnya).

Jika Anda benar-benar ingin menghindari pencarian dan hanya membatalkan peningkatan otomatis, Anda dapat membuat fungsi yang mengubah bilangan bulat menjadi string karakter yang tampaknya acak dengan kemampuan untuk mengonversi kembali. Jadi "1" menjadi "54jcdn" dan "2" menjadi "pqmw21". Mirip dengan pengkodean Base64, tetapi tidak menggunakan karakter berurutan.

(*) Saya sebenarnya suka menggunakan kurang dari 36 karakter -- satu huruf, tanpa vokal, dan tidak ada karakter yang mirip (1, l, I). Ini mencegah kata-kata umpatan yang tidak disengaja dan juga memudahkan seseorang untuk mengucapkan nilainya kepada orang lain. Saya bahkan memetakan karakter yang mirip satu sama lain, menerima "0" untuk "O". Jika Anda sepenuhnya berbasis mesin, Anda dapat menggunakan huruf besar dan kecil serta semua angka untuk kemungkinan yang lebih besar lagi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Inisialisasi Spring Boot Database MySQLException untuk Pemicu

  2. PHP &MYSQL:menggunakan grup oleh untuk kategori

  3. MySQL bagaimana cara mengisi tanggal yang hilang dalam rentang?

  4. Perbedaan antara pernyataan sql dan klausa

  5. memperbarui baris alih-alih membuat basis data entri baru android