Làm cách nào tôi có thể thực hiện các truy vấn bitwise trên DB bằng Django?
Tôi chưa tìm thấy bất kỳ điều gì về nó trong tài liệu.
Tôi có nên truy xuất bộ truy vấn và sau đó lọc theo chương trình không?Làm thế nào để thực hiện các truy vấn bitwise DB trong Django?
Nếu bạn quan tâm, tôi sử dụng bit ops thay thế cho câu hỏi IN() trong các truy vấn rất lớn và phức tạp, để cải thiện hiệu suất.
Tôi có một DB chứa hàng triệu mặt hàng (hồ sơ). Một số trường sử dụng biểu diễn nhị phân của một thuộc tính mục.
Ví dụ: các Màu lĩnh vực có thể có nhiều giá trị, vì vậy nó được cấu trúc như vậy:
0001 - Red
0010 - Green
0100 - Blue
1000 - White
(đây là những giá trị nhị phân)
Vì vậy, nếu một mục có màu đỏ và màu xanh, các Màu Trường sẽ chứa 0101
.
Khi người dùng truy vấn DB, tôi sử dụng bitwise-OR để tìm các kết quả phù hợp (thay vì IN() rất chậm).
Hi, Tôi đang thực sự sử dụng MySQL (suy nghĩ của di cư đến MongoDB, nhưng nó không hỗ trợ Bitwise truy vấn ATM) – user1102018
@ user1102018 Tôi vừa mới kiểm tra mã, nó nên làm việc trên MySQL, bởi vì nó sử dụng trường số nguyên bình thường và bitwise bình thường & và | tất cả đều được hỗ trợ bởi MySQL. – okm