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

Lập chỉ mục và tối ưu hóa hiệu suất Mysql InnoDB

Đề xuất băm MD5 mà bạn có là rất tốt - nó được ghi lại trong MySQL 2nd Ed hiệu suất cao. Có một số thủ thuật để làm cho nó hoạt động:

TẠO url BẢNG (id NOT NULL khóa chính auto_increment, url varchar (255) không null, url_crc32 INT UNSIGNED không null, INDEX (url_crc32));

Các truy vấn chọn phải trông như thế này:

CHỌN * TỪ urls WHERE url =' http://stackoverflow.com 'AND url_crc32 =crc32 (' http://stackoverflow.com ');

Url_crc32 được thiết kế để hoạt động với chỉ mục, bao gồm url trong mệnh đề WHERE được thiết kế để ngăn xung đột băm.

Tôi có thể khuyên bạn nên sử dụng crc32 trên md5. Sẽ có một vài va chạm nữa, nhưng bạn có cơ hội cao hơn để khớp tất cả các chỉ mục trong bộ nhớ.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đã xảy ra lỗi với trình gộp kết nối Hibernate DB c3p0

  2. Hiệu suất MySQL:MyISAM so với InnoDB

  3. Cách chạy Quy trình trong Swift 3.0 với đầu vào chuẩn

  4. MySQL, Giúp người dùng xếp hạng

  5. Neo4j - Tạo mối quan hệ bằng Cypher