Thủ tục được lưu trữ trong MySQL là gì?
Trong phần này, bạn sẽ học cách phát triển các chương trình được lưu trữ bao gồm các thủ tục được lưu trữ và các hàm được lưu trữ trong MySQL Show
Phần 1. Khái niệm cơ bản về thủ tục lưu trữ
Phần 2. Câu điều kiện
Phần 3. vòng lặp
phần 4. Xử lý lỗi
Phần 5. con trỏ
Phần 6. Chức năng được lưu trữ
Phần 7. Bảo mật chương trình được lưu trữ
Tóm lược. trong hướng dẫn này, bạn sẽ tìm hiểu về các thủ tục được lưu trữ trong MySQL, ưu điểm và nhược điểm của chúng Bắt đầu với các thủ tục được lưu trữCâu lệnh
Ảnh này hiển thị một phần đầu ra của truy vấn Khi bạn sử dụng MySQL Workbench hoặc mysql shell để đưa ra truy vấn tới MySQL Server, MySQL sẽ xử lý truy vấn và trả về tập kết quả Nếu bạn muốn lưu truy vấn này trên máy chủ cơ sở dữ liệu để thực hiện sau này, một cách để thực hiện là sử dụng thủ tục lưu sẵn Câu lệnh
Theo định nghĩa, thủ tục lưu sẵn là một đoạn câu lệnh SQL khai báo được lưu trữ bên trong Máy chủ MySQL. Trong ví dụ này, chúng ta vừa tạo một thủ tục lưu trữ có tên Khi bạn lưu thủ tục được lưu trữ, bạn có thể gọi nó bằng cách sử dụng câu lệnh
Và câu lệnh trả về kết quả tương tự như truy vấn Lần đầu tiên bạn gọi một thủ tục được lưu trữ, MySQL sẽ tìm kiếm tên trong danh mục cơ sở dữ liệu, biên dịch mã của thủ tục được lưu trữ, đặt nó vào vùng bộ nhớ được gọi là bộ đệm và thực thi thủ tục được lưu trữ Nếu bạn gọi lại cùng một thủ tục được lưu trữ trong cùng một phiên, MySQL chỉ thực thi thủ tục được lưu trữ từ bộ đệm mà không phải biên dịch lại nó Một thủ tục được lưu trữ có thể có các tham số để bạn có thể chuyển các giá trị cho nó và nhận lại kết quả. Ví dụ: bạn có thể có một thủ tục được lưu trữ trả về khách hàng theo quốc gia và thành phố. Trong trường hợp này, quốc gia và thành phố là các tham số của thủ tục được lưu trữ Một thủ tục được lưu trữ có thể chứa các câu lệnh luồng điều khiển như 0 cho phép bạn triển khai mã theo cách thủ tục Một thủ tục được lưu trữ có thể gọi các thủ tục được lưu trữ khác hoặc các hàm được lưu trữ, cho phép bạn điều chỉnh mã của mình Lưu ý rằng bạn sẽ học từng bước cách tạo thủ tục lưu sẵn mới trong hướng dẫn tiếp theo Ưu điểm của thủ tục lưu trữ MySQLSau đây là những ưu điểm của thủ tục lưu trữ Giảm lưu lượng mạngCác thủ tục được lưu trữ giúp giảm lưu lượng mạng giữa các ứng dụng và Máy chủ MySQL. Bởi vì thay vì gửi nhiều câu lệnh SQL dài, các ứng dụng chỉ phải gửi tên và tham số của các thủ tục được lưu trữ Tập trung logic kinh doanh trong cơ sở dữ liệuBạn có thể sử dụng các thủ tục được lưu trữ để triển khai logic nghiệp vụ mà nhiều ứng dụng có thể sử dụng lại. Các thủ tục được lưu trữ giúp giảm nỗ lực sao chép cùng một logic trong nhiều ứng dụng và làm cho cơ sở dữ liệu của bạn nhất quán hơn Làm cho cơ sở dữ liệu an toàn hơnQuản trị viên cơ sở dữ liệu có thể cấp các đặc quyền phù hợp cho các ứng dụng chỉ truy cập các thủ tục được lưu trữ cụ thể mà không cấp bất kỳ đặc quyền nào trên các bảng bên dưới Nhược điểm của thủ tục lưu trữ MySQLBên cạnh những ưu điểm đó, thủ tục lưu sẵn cũng có những nhược điểm Sử dụng tài nguyênNếu bạn sử dụng nhiều thủ tục được lưu trữ, mức sử dụng bộ nhớ của mọi kết nối sẽ tăng lên đáng kể Bên cạnh đó, việc lạm dụng một số lượng lớn các thao tác logic trong các thủ tục được lưu trữ sẽ làm tăng mức sử dụng CPU vì MySQL không được thiết kế tốt cho các thao tác logic Xử lý sự cốThật khó để gỡ lỗi các thủ tục được lưu trữ. Thật không may, MySQL không cung cấp bất kỳ phương tiện nào để gỡ lỗi các thủ tục được lưu trữ giống như các sản phẩm cơ sở dữ liệu doanh nghiệp khác như Oracle và SQL Server bảo trìViệc phát triển và duy trì các thủ tục được lưu trữ thường yêu cầu một bộ kỹ năng chuyên biệt mà không phải nhà phát triển ứng dụng nào cũng sở hữu. Điều này có thể dẫn đến các vấn đề trong cả phát triển và bảo trì ứng dụng Trong hướng dẫn này, bạn đã tìm hiểu về các thủ tục được lưu trữ trong MySQL, ưu điểm và nhược điểm của chúng. Hãy tiếp tục tìm hiểu cách tạo thủ tục lưu trữ mới trong MySQL Việc sử dụng các thủ tục được lưu trữ là gì?Việc sử dụng các thủ tục được lưu trữ có thể giảm lưu lượng truy cập mạng giữa máy khách và máy chủ , bởi vì các lệnh được thực thi dưới dạng một nhóm mã duy nhất. Điều này có nghĩa là chỉ lệnh gọi để thực thi quy trình được gửi qua mạng, thay vì từng dòng mã được gửi riêng lẻ.
Thủ tục được lưu trữ ở đâu trong MySQL?Các thủ tục lưu trữ được lưu trữ ở đâu? . mysql. quy trình và mysql. bảng tham số , là một phần của từ điển dữ liệu.
Thủ tục MySQL là gì?Một thủ tục là một chương trình con (như chương trình con) bằng ngôn ngữ kịch bản thông thường, được lưu trữ trong cơ sở dữ liệu . Trong trường hợp của MySQL, các thủ tục được viết bằng MySQL và được lưu trữ trong cơ sở dữ liệu/máy chủ MySQL. Một thủ tục MySQL có tên, danh sách tham số và (các) câu lệnh SQL.
Sự khác biệt giữa thủ tục được lưu trữ và chức năng trong MySQL là gì?Một thủ tục không trả về một giá trị. Thay vào đó, nó được gọi bằng câu lệnh CALL để thực hiện một thao tác như sửa đổi bảng hoặc xử lý các bản ghi đã truy xuất. Mặt khác, một hàm được gọi trong một biểu thức và trả về một giá trị duy nhất trực tiếp cho người gọi sẽ được sử dụng trong biểu thức |