TAILIEUCHUNG - Những thói quen tốt khi viết câu lệnh T-SQL Phần 2

Để nâng cao hiệu suất máy chủ SQL và giảm thiểu các lỗi tiềm tàng cho ứng dụng, chúng ta cần phải tập viết code câu lệnh T-SQL một cách tối ưu nhất. | Những thói quen tốt khi viết câu lệnh T-SQL Phần 2 Nguồn Quản Trị Mạng - Để nâng cao hiệu suất máy chủ SQL và giảm thiểu các lỗi tiềm tàng cho ứng dụng chúng ta cần phải tập viết code câu lệnh T-SQL một cách tối ưu nhất. Trong phần đầu của bài viết các bạn đã được giới thiệu một số thủ thuật hữu ích giúp máy chủ giảm bớt những thao tác thừa. Phần hai này sẽ tập trung vào việc làm thế nào để tối ưu hóa thủ tục lưu trữ đa năng. Phần 1 Thủ tục lưu trữ đa năng Trước khi bước vào vấn đề làm thế nào để tối ưu hóa thủ tục lưu trữ đa năng Jack Of All Trades Stored Procedure - SP chúng ta cần có một chút khái niệm về loại thủ tục này. Thủ tục lưu trữ đa năng là thủ tục chấp nhận nhiều tham số khác nhau có liên quan đến thủ tục. Dựa trên các tham số được truyền vào thủ tục lưu trữ đa năng xác định bản ghi nào sẽ được trả về. Sau đây là một ví dụ về thủ tục lưu trữ đa năng CREATE PROCEDURE JackOfAllTrades @SalesOrderID int NULL @SalesOrderDetailID int NULL @CarrierTrackingNumber nvarchar 25 NULL AS SELECT FROM WHERE SalesOrderID @SalesOrderID or @SalesOrderID IS NULL AND SalesOrderDetailID @SalesOrderDetailID or @SalesOrderDetailID IS NULL AND CarrierTrackingNumber @CarrierTrackingNumber or @CarrierTrackingNumber IS NULL GO Ở đây SP JackOfAllTrades chấp nhận ba tham số khác nhau. Tất cả các tham số này có giá trị mặc định là NULL. Khi một giá trị được truyền vào nó sẽ được sử dụng như một tham số trong mệnh đề WHERE để ràng buộc các bản ghi trả về. Mỗi tham số trong SP được dùng để xây dựng một mệnh đề WHERE phức tạp chứa logic sau đây trong mệnh đề WHERE đối với mỗi tham số truyền vào TableColumn @PARM or @PARM IS NULL Logic trên cho biết nếu @PARM được truyền giá trị non-null thì sẽ ràng buộc bản ghi trả về để chắc chắn rằng TableColumn bằng giá trị của @PARM. Phần thứ hai của điều kiện đó là @PARM IS NULL . Phần này có nghĩa nếu @PARM không có giá trị truyền vào bằng NULL thì không ràng buộc dữ liệu dựa trên tham số ấy.

TỪ KHÓA LIÊN QUAN
TÀI LIỆU LIÊN QUAN