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

Tipe data untuk URL

Pertanyaan Anda meninggalkan banyak imajinasi.

Untuk satu hal, kami harus menganggap tujuan indeks Anda adalah untuk berfungsi sebagai kunci utama untuk menghindari duplikat. Anda tidak akan mengembangkan aplikasi yang pernah mengatakan kepada pengguna, "maaf, ada kesalahan dalam entri data 1800 karakter Anda; tidak cocok, silakan coba lagi."

Untuk hal lain, kami harus menganggap URL Anda ini berpotensi memiliki banyak parameter CGI (?param=val¶m=val¶m=val) di dalamnya.

Jika asumsi ini benar, inilah yang dapat Anda lakukan.

  1. Buat kolom URL Anda lebih panjang, sebagai varchar, jika perlu.

  2. Tambahkan kolom hash SHA-1 ke tabel Anda. SHA-1 hashes terdiri dari string 40 karakter (hexdigits).

  3. Jadikan kolom itu sebagai kunci utama Anda.

  4. Saat Anda memasukkan sesuatu ke dalam tabel Anda, gunakan fungsi mySQL SHA1 untuk menghitung nilai hash.

  5. Gunakan perintah INSERT ... ON DUPLICATE KEY UPDATE mySQL untuk menambahkan baris ke database Anda.

Ini akan memungkinkan Anda menyimpan URL duplikat dari basis data Anda tanpa kebingungan dengan cara yang dapat ditingkatkan dengan baik.

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. kata sandi mysql Menghubungkan ke MySQL dengan PHP

  2. MySQL PDO disiapkan lebih cepat dari kueri? Itulah yang ditunjukkan oleh tes sederhana ini

  3. Mengatur nilai default untuk kolom tipe DATE ke tanggal saat ini tanpa bagian waktu?

  4. MySQL Group Dengan dengan nomor N teratas dari masing-masing jenis

  5. Apa susunan MySQL yang terbaik untuk menerima semua karakter unicode?