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

Tối ưu hóa truy vấn mysql để sử dụng chỉ mục trên mệnh đề Bitwise where

Tôi không tin rằng MySQL có thể được tạo ra để sử dụng các chỉ mục cho các hoạt động bitwise.

Có một số cuộc thảo luận về vấn đề này trong diễn đàn Hiệu suất MySQL: http://forums.mysql. com / read.php? 24,35318 ("Có thể quét chỉ mục với so sánh theo bit không?") Trong đó một nhân viên MySQL đề xuất giải pháp dựa trên việc có một bảng với một hàng cho mỗi cặp (thứ, set-bit) và thực hiện một loạt các phép nối. Tôi đoán rằng điều này hoạt động tốt như thế nào sẽ phụ thuộc rất nhiều vào ứng dụng cụ thể của bạn.

Theo http://dev.mysql.com/tech -resources / article / mysql-set-datatype.html chỉ mục không được sử dụng để thực hiện cùng một loại hoạt động trên SET các giá trị (được thực hiện với các số nguyên và các phép toán bit). Tôi đã nghĩ rằng nếu có bất kỳ tối ưu hóa chỉ mục thông minh nào cho các hoạt động bitwise thì nó đã được áp dụng cho SET s.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Loại bỏ hoặc cắt bớt một số ký tự đầu tiên hoặc cuối cùng trong cơ sở dữ liệu MySQL với SQL

  2. Thực hiện số học đơn giản trong câu lệnh MySQL hoặc trong mã PHP

  3. Làm thế nào để loại bỏ dấu trong MySQL?

  4. bảng phẳng - quyền truy cập bị từ chối

  5. Chèn mảng bản ghi vào mysql với Node JS