Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Loại dữ liệu cho URL

Câu hỏi của bạn để lại rất nhiều cho trí tưởng tượng.

Đối với một điều, chúng tôi phải giả định rằng mục đích của chỉ mục của bạn là phục vụ như một khóa chính để tránh trùng lặp. Bạn sẽ không phát triển một ứng dụng từng nói với người dùng, "xin lỗi, đã xảy ra lỗi trong mục nhập dữ liệu 1800 ký tự của bạn; nó không khớp, vui lòng thử lại."

Đối với một điều khác, chúng tôi phải giả định rằng các URL này của bạn có thể có nhiều thông số CGI (? Param =val ¶m =val ¶m =val) trong đó.

Nếu những giả định này là đúng, thì đây là những gì bạn có thể làm.

  1. Làm cho cột URL của bạn dài hơn, dưới dạng varchar, nếu bạn cần.

  2. Thêm cột băm SHA-1 vào bảng của bạn. Hàm băm SHA-1 gồm 40 ký tự (hexdigits).

  3. Đặt cột đó làm khóa chính của bạn.

  4. Khi bạn đưa nội dung vào bảng của mình, hãy sử dụng hàm mySQL SHA1 để tính toán các giá trị băm.

  5. Sử dụng lệnh INSERT ... ON DUPLICATE KEY UPDATE mySQL để thêm các hàng vào cơ sở dữ liệu của bạn.

Điều này sẽ cho phép bạn loại bỏ các URL trùng lặp ra khỏi cơ sở dữ liệu của mình mà không gây nhầm lẫn theo cách tăng tỷ lệ phù hợp.

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. Về Neo4j

  2. Sử dụng mysqldump để sao lưu MySQL hoặc MariaDB

  3. Tìm tất cả cha mẹ trong bảng mysql với một truy vấn duy nhất (Truy vấn đệ quy)

  4. Tôi có thể sử dụng các cột không tổng hợp với nhóm theo không?

  5. Cách nhanh nhất để tìm khoảng cách giữa hai điểm vĩ độ / vĩ độ