MySQL 8.4 参考手册  /  存储对象  /  使用存储例程

27.2 使用存储例程

MySQL 支持存储例程(过程和函数)。存储例程是可以在服务器中存储的一组 SQL 语句。完成此操作后,客户端无需继续重新发出各个语句,而是可以改为引用存储例程。

存储例程在某些情况下特别有用

  • 当多个客户端应用程序是用不同的语言编写或在不同的平台上运行,但需要执行相同的数据库操作时。

  • 当安全性至关重要时。例如,银行使用存储过程和函数来执行所有常见操作。这提供了一个一致且安全的环境,并且例程可以确保每个操作都被正确记录。在这种设置中,应用程序和用户将无法直接访问数据库表,而只能执行特定的存储例程。

存储例程可以提高性能,因为需要在服务器和客户端之间发送的信息更少。权衡是,这确实会增加数据库服务器的负载,因为更多工作是在服务器端完成的,而客户端(应用程序)端完成的工作更少。如果许多客户端机器(例如 Web 服务器)只由一个或几个数据库服务器提供服务,请考虑这一点。

存储例程还允许您在数据库服务器中拥有函数库。这是现代应用程序语言共享的一项功能,使这种设计在内部(例如通过使用类)成为可能。即使在数据库使用范围之外,使用这些客户端应用程序语言功能对于程序员来说也是有益的。

MySQL 遵循 SQL:2003 存储例程语法,IBM 的 DB2 也使用这种语法。此处描述的所有语法都受支持,并在适当的情况下记录任何限制和扩展。

其他资源