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

Hiệu suất SQL-Server:Nhanh hơn, một thủ tục được lưu trữ hay một dạng xem?

Thủ tục được lưu trữ (SP) và Chế độ xem SQL là những "con thú" khác nhau như đã nêu nhiều lần trong bài đăng này.

Nếu chúng tôi loại trừ một số cân nhắc về hiệu suất [thường là nhỏ, ngoại trừ các trường hợp ngoài lề] liên quan đến bộ nhớ đệm của kế hoạch truy vấn, thì thời gian liên quan đến ràng buộc với Thủ tục được lưu trữ và như vậy, cả hai phương pháp đều tương đương với nhau, hiệu suất- khôn ngoan. Tuy nhiên ...

Một chế độ xem bị giới hạn ở bất kỳ điều gì có thể được thể hiện trong một câu lệnh SELECT (tốt, có thể bằng CTE và một vài thủ thuật khác), nhưng nói chung, một chế độ xem được gắn với các dạng truy vấn khai báo . Một thủ tục được lưu trữ trên kia có thể sử dụng nhiều cấu trúc kiểu thủ tục khác nhau (cũng như các định dạng khai báo) và do đó, sử dụng SP, người ta có thể tạo thủ công một cách giải quyết một truy vấn nhất định có thể hiệu quả hơn so với những gì trình tối ưu hóa truy vấn của SQL-Server có thể đã làm (trên cơ sở một truy vấn khai báo). Trong những trường hợp này, SP có thể nhanh hơn nhiều (nhưng hãy cẩn thận ... trình tối ưu hóa khá thông minh và không mất nhiều thời gian để tạo SP chậm hơn nhiều so với chế độ xem tương đương.)

Bên cạnh những cân nhắc về hiệu suất này, SP linh hoạt hơn và cho phép nhiều yêu cầu và hành động hơn so với chế độ xem.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bắt đầu với GearHost để phát triển cơ sở dữ liệu máy chủ SQL

  2. SQL - Việc chuyển đổi kiểu dữ liệu varchar thành kiểu dữ liệu datetime dẫn đến giá trị nằm ngoài phạm vi

  3. Gặp lỗi khi thực thi sql động trong một hàm (SQL Server)?

  4. Đầu ra chính xác đầy đủ của các loại dấu phẩy động trong SQL Server Management Studio

  5. Cách bật tính năng ghi dữ liệu thay đổi (CDC) trên toàn bộ bảng HOẶC bật CDC trên bảng có danh sách cột trong SQL Server