Mysql 存储过程是否会提高应用程序的性能以及使用它们的理想方案?

Mysql 存储过程是否会提高应用程序的性能以及使用它们的理想方案?,mysql,rdbms,Mysql,Rdbms,在我们公司,我们并不真正使用存储过程,因为它使代码无法灵活地进行调试,在出现错误时进行更新,并在数据库列中进行修改,这需要花费大量时间我想通过一些示例了解在企业级应用程序中使用存储过程的理想场景?还是使用存储过程不好? 如果我想运行6个不同的查询,我需要对数据库进行5次调用。但是如果我有存储过程,我可以在一次调用中完成所有这些事情,在这种情况下使用时,这会显著提高性能吗?(因为我听说每个查询都会被MySQL/sql捕获,所以查询执行计划中既有sql查询,也有catch中的存储过程,这对性能没有影

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

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

谢谢你的回答!
我真的很感激!!

一个存储过程并不能直接使单个查询更快,但它确实在性能方面带来了一些其他好处:

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

有时,当您有非常复杂的查询时,您可以通过将大型查询分解为较小的部分来实现更好的性能(帮助optmizer选择更好的数据访问)。这些中间结果可以放在临时表(仅在执行过程中有效的表)。请参阅文档。什么是临时表?中间结果是什么意思?请解释。但在DB调试中有6个查询,修改..并且使应用程序僵化,这意味着如果SP在其他SP中引用,则很难在代码中调试该问题。如果我们有SP(存储过程)这有6条SQL语句,如果我在没有SP的情况下调用这些语句,我将有大约多少时差?请参阅前面的评论。如果您有特定问题,请将其作为新问题发布,并附上代码,因为此问题已关闭。