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

Tối ưu hóa các truy vấn MySQL với toán tử IN

Chỉ mục trên categoryId sẽ không hữu ích trong trường hợp này, các truy vấn IN (...) sẽ tạo ra quét theo trình tự thay vì tra cứu chỉ mục.

Trước tiên, tôi sẽ cân nhắc việc thiết kế lại hệ thống để loại bỏ nhiều lựa chọn danh mục và nếu nó không phù hợp, hãy lưu vào bộ nhớ đệm kết quả truy vấn.

Ví dụ:bạn có thể tạo một bảng trợ giúp items_category_groups (băm, item_id) và sau khi khách hàng truy vấn trên nhiều danh mục, hãy băm id kết hợp của chúng và tra cứu bảng này. Nếu không tìm thấy, hãy thực hiện một truy vấn đắt tiền và điền vào bảng này. Nếu tìm thấy, hãy thực hiện một truy vấn rẻ khi tham gia các bảng này. Các công cụ bộ nhớ đệm khác như memcached cũng sẽ hoạt động.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. kết hợp hai câu lệnh select trong hai cột?

  2. Tải xuống kết xuất MySQL từ dòng lệnh

  3. Tìm kiếm nhiều mục trong nhiều cột

  4. Hibernate mysql čć

  5. Kích hoạt MySQL trước khi chèn cột cập nhật với id tăng tự động mới