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.