存储过程会增加应用程序的性能和使用它们的理想场景吗?

Will stored procedure increases the performance of application and Ideal scenarios to use them?

在我们公司,我们并没有真正使用存储过程,因为它使代码不灵活,无法调试,在出现错误时更新和修改数据库列需要花费大量时间。 我想通过一些示例了解在企业级应用程序中使用存储过程的理想场景?还是使用存储过程不好?

如果我想 运行 6 个不同的查询,我需要对数据库进行 5 次调用。但是如果我有存储过程,我可以在一次调用中完成所有这些事情,在这种情况下使用它会显着提高性能吗?(因为我听说每个查询将被 MySQL/sql 捕获,因此查询执行计划与 SQL 查询和 catch 中的存储过程一起存在,这对性能没有影响)请给出你的有效意见!

感谢您的回答! 非常感谢!!

存储过程不会直接使单个查询更快,但它确实有一些其他好处 performance-wise:

  • 如果您的查询足够复杂(多个)。通过将中间结果存储在临时表等中来减少客户端和服务器之间的来回通信,SP 可以更好地执行。
  • 有时可以通过将查询分解为更小的查询(再次使用临时表)来优化非常复杂的查询。 SP 提供了将其封装到数据库中的好方法。