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

Lệnh Sql JOIN có ảnh hưởng đến hiệu suất không?

Thứ tự liên kết trong máy chủ SQL2008R2 không nghi ngờ gì ảnh hưởng đến hiệu suất truy vấn, đặc biệt là trong các truy vấn có số lượng lớn các phép nối bảng với các mệnh đề được áp dụng đối với nhiều bảng.

Mặc dù thứ tự tham gia được thay đổi trong tối ưu hóa, trình tối ưu hóa không thử tất cả các đơn đặt hàng tham gia có thể có. Nó dừng lại khi nó tìm thấy thứ mà nó coi là một giải pháp khả thi vì chính hành động tối ưu hóa sử dụng các tài nguyên quý giá.

Chúng tôi đã thấy các truy vấn đang hoạt động như chó (1 phút + thời gian thực hiện) giảm xuống hiệu suất phụ thứ hai chỉ bằng cách thay đổi thứ tự của các biểu thức nối. Tuy nhiên, xin lưu ý rằng đây là những truy vấn có 12 đến 20 kết nối và mệnh đề where trên một số bảng.

Bí quyết là đặt thứ tự của bạn để giúp người tối ưu hóa truy vấn tìm ra điều gì hợp lý. Bạn có thể sử dụng Force Order nhưng điều đó có thể quá cứng nhắc. Cố gắng đảm bảo rằng thứ tự nối của bạn bắt đầu với các bảng mà ở đó sẽ giảm dữ liệu nhiều nhất thông qua mệnh đề where.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Câu lệnh ALTER TABLE xung đột với ràng buộc CHECK trong SQL Server - Hướng dẫn sử dụng SQL Server / TSQL Phần 89

  2. Cách CAST () hoạt động trong SQL Server

  3. Sử dụng các tham số đầu ra thủ tục được lưu trữ trong C #

  4. Thu thập số lượng từ một truy vấn SQL

  5. Định cấu hình vận chuyển nhật ký máy chủ SQL