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

Nhanh hơn để truy vấn một trường nhị phân (1) hoặc trường 8 bit?

Các chỉ mục trên trường bit về cơ bản sẽ vô dụng. Một bit có độ chọn lọc khủng khiếp, 0 hoặc 1, và có thể sẽ bị trình tối ưu hóa bỏ qua. 8 chỉ mục trên các trường 8 bit sẽ là 8 chỉ mục bị trình tối ưu hóa bỏ qua.

Chỉ mục trên cột byte chỉ có tính chọn lọc cao hơn một chút, với 256 giá trị riêng biệt. Nhưng nếu bạn đang tìm kiếm các mẫu bit riêng lẻ, chẳng hạn như 'là ​​bit 3 trên', thì không có cách nào để thể hiện điều này dưới dạng một giá trị riêng lẻ để tìm kiếm cũng như dưới dạng một phạm vi.

Kết luận là bất kể bạn cố gắng gì, bạn sẽ kết thúc bằng việc quét bảng dù sao .

Vì vậy, hãy giải thích rõ hơn vấn đề của bạn là gì, không phải giải pháp của bạn và có lẽ chúng ta có thể nghĩ cách nào đó hiệu quả hơn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để tìm một thủ tục được lưu trữ có chứa <text>?

  2. Làm cách nào để chỉ chạy câu lệnh mà con trỏ của tôi đang bật trong SQL Server Management Studio?

  3. Cách chuyển đổi danh sách các số thành bảng (tạm thời) bằng SQL (SQL Server)

  4. Tạo một cột được tính toán trong SQL Server 2008

  5. SHA256 trong thủ tục lưu trữ T-sql