Giới thiệu tổng quan Stored Procedure là gì trong SQL Server

Stored procedure là gì ? Trong bài này bạn sẽ được tìm hiểu và khám phá khái niệm về stored procedure trong SQL Server, qua đó bạn sẽ biết được cách tạo mới, thực thi, đổi khác và xóa stored procedure .
procedure la gi

Cùng tìm hiểu khái niệm Stored Procedure là gì?

Stored procedure là tập hợp một hoặc nhiều câu lệnh T-SQL thành một nhóm đơn vị chức năng giải quyết và xử lý logic và được tàng trữ trên Database Server. Khi một câu lệnh gọi chạy stored procedure lần tiên phong thì SQL Server sẽ chạy nó và tàng trữ vào bộ nhớ đệm, gọi là plan cache, những lần tiếp theo SQL Server sẽ sử dụng lại plan cache nên sẽ cho vận tốc giải quyết và xử lý tối ưu .

1. Khi nào bạn cần sử dụng Stored Procedure?

Khi bạn phải thực thi một project lớn, yên cầu khắt khe về vận tốc thực thi thì Stored Procedure chính là một phần giải thuật cho bạn. Stored Procedure cho vận tốc thực thi nhanh hơn so với những câu lệnh SQL Server thường thì, Stored Procedure đã được lưu sẵn tại SQL server, do vậy chương trình không cần gởi hàng ngàn dòng lệnh đến SQL Server. Nó chỉ cần gọi một dòng lệnh để thực thi Stored Procedure, điều này giúp tăng vận tốc thực thi .

Bên cạnh đó trong quá trình tạo Stored Procedure, SQL Server đã tối ưu hóa những dòng lệnh này, điều này giúp cho tốc độ thực thi cao hơn câu lệnh SQL thông thường rất nhiều.

2. Khi nào bạn không cần sử dụng Stored Procedure?

Store Procedured làm quy trình debug trở nên khó khăn vất vả hơn. Do vậy hãy nghĩ đến Stored Procedure như thể giải pháp sau cuối để tối ưu hóa vận tốc thực thi chương trình. Thực tế 90 % những project bạn làm có size nhỏ và vừa, do vậy hãy ưu tiên sử dụng những thư viện ORM ( Object Relation Mapping ), như Entity Framework cho C #, TypeORM cho NodeJs. Chúng sẽ giúp bạn tăng trưởng, bảo dưỡng, debug chương trình thuận tiện hơn .

Cách tạo Stored Procedure trong SQL Server Procedure là gì ?

Stored procedure rất thuận tiện cho người quản trị database ( DBA ), nó giúp DBA tạo ra những nhóm câu lệnh và gửi đến một bô phận khác mà họ sẽ không cần chăm sóc đến nội dung bên trong stored procedure có gì, họ chỉ chăm sóc đến tham số nguồn vào và đầu ra .
Ví dụ bạn viết một stored procedure lấy list mẫu sản phẩm bán chạy theo ngày, sau đó bạn gửi stored này qua bộ phận development kèm theo tài liệu hướng dẫn sử dụng thì lúc này bộ phận DEV không cận chăm sóc đến nội dung bên trong của stored mà chỉ cần thông tin tham số truyền vào và hiệu quả trả về của stored .
procedure la gi
Chúng ta hãy mở màn bằng những ví dụ đơn thuần nhất nhé. Giả sử ta có câu truy vấn lấy list loại sản phẩm như sau :
SELECT
product_name ,
list_price
FROM
production.products
ORDER BY
product_name ;
Để tạo một stored procedure chứa câu truy vấn này thì ta sẽ viết như sau :
CREATE PROCEDURE uspProductList
AS
BEGIN
SELECT
product_name ,
list_price
FROM
production.products
ORDER BY
product_name ;
END ; Procedure là gì ?
Như vậy cú pháp tạo stored procedure như sau :
CREATE PROCEDURE stored_name

AS

BEGIN
… .
END ;
Trong đó stored_name là tên của stored mà bạn muốn đặt. Như ở ví dụ ở trên thì tên của nó là uspProductList. Đối với câu lệnh CREATE PROCEDURE thì bạn hoàn toàn có thể rút ngắn thành CREATE PROC .
Bây giờ bạn hãy chạy câu SQL tạo stored bằng cách click vào nút Execute ở trên thanh công cụ như hình chụp dưới đây .

5 32

Nếu bạn làm đúng tổng thể thì sẽ nhận được tác dụng là :
Commands completed successfully .
Để xem list stored procedure đã tạo trong SQL Server thì bạn hãy vào database -> Programmability > Stored Procedures. Trường hợp không Open stored vừa tạo thì hãy click dấu xoay tròn để reload .

Ưu điểm nhược điểm của Stored Proccedure là gì trong Mysql?

Ưu điểm

Thông thường tất cả chúng ta sử dụng Procedure để tăng hiệu xuất giải quyết và xử lý của ứng dụng, sau khi được tạo ra thì toàn bộ những thủ tục được lưu trong hệ quản trị cơ sở tài liệu. Tuy nhiên trong MYSQL việc tàng trữ những hàm này lại hơi khác nhau, khi được tạo ra thì thủ tục này sẽ được tàng trữ trong một bộ nhớ đệm ( cache ). Nếu trong một ứng dụng sử dụng gọi tới một Procedure nhiều lần trong một chuỗi liên kết thì lúc này sẽ coi nó như một chương trình cần biên dịch, nếu không thì sẽ coi như như thể một câu truy vấn thông thường .

3 74

Stored Procedure giúp giảm thời hạn tiếp xúc giữa những ứng dụng với hệ quản trị MYSQL
Thay vì gửi nhiều câu lệnh dài thì ta chỉ cần gọi tới một thủ tục và trong thủ tục này sẽ triển khai nhiều câu lệnh SQL .
Stored Procudure sẽ giúp những ứng dụng nhìn minh bạch hơn, nghĩa là khi ta định nghĩa những thao tác giải quyết và xử lý vào một Stored thì việc làm của những ngôn từ lập trình khác chỉ chăm sóc đến tên thủ tục, những tham số truyenf vào chứ không cần biết nó thực thi như thế nào. Điều này giúp những team làm việc tốt hơn, ta sẽ phân ra bộ phận Coder riêng và bộ phận viết thủ tục riêng .
Mỗi thủ tục sẽ có những mức độ truy vấn, nghĩa là ta hoàn toàn có thể cấp quyền sử dụng cho một Uesr nào đó trong hệ quản trị ( Lưu ý là user trong hệ quản trị chứ không phải là admin của ứng dụng website ) .
Bên cạnh những ưu điểm như trên thì Procedure cũng có một số ít điểm yếu kém như phần dưới đây .

Nhược điểm

Stored procedure làm cho database server phải tốn nhiều tài nguyên về cả bộ nhớ lẫn giải quyết và xử lý. Thay vì tập trung chuyên sâu vào tính năng tàng trữ và nhận tài liệu, bạn còn phải nhu yếu database server triển khai 1 loạt những đo lường và thống kê logic hay những thao tác giải quyết và xử lý phức tạp vốn không thuộc “ sở trường ” của database server .
procedure la gi
Nếu sử dụng thủ tục thì sẽ rất khó tăng trưởng trong ứng dụng, gây khó khăn vất vả ở mức logic business .
Một số hệ quản trị CSDL có những tool tương hỗ Debug Store nhưng MYSQL thì không có .
Để tăng trưởng ứng dụng thì bạn phải yên cầu có một kỹ năng và kiến thức thật siêu đăng mà không phải nhà phong cách thiết kế cơ sở tài liệu nào cũng có. Điều này dễ bị phá cho yếu tố bảo dưỡng và tăng cấp
Stored procedure chỉ tiềm ẩn những khai báo sql, vì thế rất khó hoàn toàn có thể viết 1 procedure nhằm mục đích thực thi những thao tác giải quyết và xử lý phức tạp như những ngôn từ khác làm được ở tần ứng dụng như C #, Java, C + + …
Bạn cũng không hề debug stored procedure trong hầu hết những RDMBS và trong cả MySQL. Có 1 vài cách để khắc phục điểm yếu kém này, tuy nhiên vẫn chưa hoàn hảo nhất lắm .
Việc viết và bảo dưỡng ( maintain ) stored procedure thường nhu yếu 1 loạt những kỹ năng và kiến thức chuyên biệt nhiều khi không phải là kỹ năng và kiến thức của lập trình viên. Điều này dẫn đến những yếu tố trong cả góc nhìn tăng trưởng ứng dụng và bảo dưỡng mẫu sản phẩm .
Qua bài này kỳ vọng bạn hiểu Stored Procedure trong MYSQL là gì và ưu điểm yếu kém của nó. Chính vì những điểm yếu kém đó mà Procedure rất ít khi sử dụng trong những ứng dụng Website. Giả sử bạn thuê một nhà tăng trưởng ứng dụng họ viết theo kiểu sử dụng Procedure, sau đó bạn thuê tiếp một nhà tăng trưởng khác thì bảo vệ họ chạy dài ngay vì khó hoàn toàn có thể biêt được sáng tạo độc đáo của nhà phong cách thiết kế cũ. Chính thế cho nên khi tăng trưởng ứng dụng thì bạn nên xem xét kỹ trước khi sử dụng nó nhé. Trong những bài tiếp theo tất cả chúng ta sẽ khám phá làm thế nào để tận dụng tối đa Procedure trong MYSQL khi thiết kế xây dựng website .
Liên hệ với SEMTEK để tháo nút thắt cho website của bạn bằng giải pháp về Marketing !

SEMTEK Co,.LTD

🏡 Địa chỉ: 2N Cư Xá Phú Lâm D, Phường 10, Quận 6, TP.HCM
📧 Email: [email protected]
☎️ Hotline: (+84)098.300.9285

Các tìm kiếm tương quan

  • medical procedure là gì
  • procedure là gì sql
  • make procedure
  • process là gì
  • procedure là gì trong pascal
  • entry procedure là gì
  • procedure pascal
  • procedure cambridge dictionary

Nội dung tương quan :