什么时候应该使用存储过程(mysql)?

什么时候应该使用存储过程(mysql)?,mysql,stored-procedures,Mysql,Stored Procedures,我看过这个,但它已经3年了,我想大多数数据库的技术都更优化了 我在使用mysql,什么时候应该使用存储过程?在我看来,除非我需要表现,否则我永远不会。然后我读到性能没有提升。然后我读到,每次我在连接上第一次调用过程时,都会编译它。但即使这样,它也没有帮助,因为它只会加快解析速度,而不需要花费时间 我不知道我是不是搞错了?但也许我忘了什么大事。我不认为逻辑存在有任何好处,因为我的首选是有一个库或共享代码(这样做没有任何真正的缺点) 但是我从来没有使用过存储过程,所以这就是我问的原因。有几次我对过程

我看过这个,但它已经3年了,我想大多数数据库的技术都更优化了

我在使用mysql,什么时候应该使用存储过程?在我看来,除非我需要表现,否则我永远不会。然后我读到性能没有提升。然后我读到,每次我在连接上第一次调用过程时,都会编译它。但即使这样,它也没有帮助,因为它只会加快解析速度,而不需要花费时间

我不知道我是不是搞错了?但也许我忘了什么大事。我不认为逻辑存在有任何好处,因为我的首选是有一个库或共享代码(这样做没有任何真正的缺点)


但是我从来没有使用过存储过程,所以这就是我问的原因。

有几次我对过程感兴趣:

  • 当我想通过强制应用程序使用存储过程来完全封装对数据库的访问时。对于一个拥有强大/大型数据库组和小型/弱势编程团队的组织来说,这是一件好事。当您有多个代码库访问数据库时,它也很有用,因为它们都有一个接口,而不是各自编写自己的查询等
  • 当你重复做一些应该在数据库中做的事情时。当你看到它的时候你就会知道了

  • 因此,除非你是一个严重的控制狂(或者正在构建像银行这样的大型系统),否则90%的时间你都不需要它们。

    存储过程更多的是关于干净的代码和关注点的分离,而不是优化数据库查询;SQL Server和MySQL有着不同的特点(因此,关于一个概念或另一个概念何时更好地工作,通常有不同的规则)。当我需要单独更新查询时,我使用它们来避免在所有计算机上重新编译和重新安装软件。(200多台计算机)