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

SQL Server:làm thế nào để tối ưu hóa các truy vấn giống như vậy?

Để làm được nhiều điều cho một LIKE trong đó mẫu có dạng '%XXX%' , bạn muốn tra cứu khả năng lập chỉ mục toàn văn bản của SQL Server và sử dụng CONTAINS thay vì LIKE . Hiện tại, bạn đang thực hiện quét toàn bộ bảng, bởi vì một chỉ mục bình thường sẽ không giúp ích cho việc tìm kiếm một mục bắt đầu bằng ký tự đại diện - nhưng một chỉ mục toàn văn sẽ làm được.

/* ... */
 WHERE (LTRIM(RTRIM([t0].[DOCREVNO])) = '0') 
   AND (contains([t0].[FIRSTNAME], 'John')) 
   AND (contains([t0].[LASTNAME], 'Smith')) 
   AND (contains([t0].[SSN], '123'))
   AND (contains([t0].[CLIENTNUMBER],'123')) 
   AND (contains([t0].[MDOCNUMBER], '123')) 
   AND ([t0].[CLIENTINDICATOR] = 'ON')


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tham số tên bảng trong .NET / SQL?

  2. Làm thế nào để bao gồm tổng số hàng được trả về trong tập kết quả từ lệnh SELECT T-SQL?

  3. Làm cách nào để lấy số lượng các hàng trùng lặp của cột DISTINCT làm cột khác?

  4. Lỗi tràn số học khi chuyển đổi biểu thức thành kiểu dữ liệu ngày giờ. (trong khi hiển thị ngày giờ ..)

  5. Làm cách nào để tìm số lượng trùng lặp giữa một số cột?