关闭。这个问题需要更加突出重点。它目前不接受答案。**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。
两个月前关门了。改进这个问题我目前正在从事一个使用spring框架构建的项目。我们使用存储过程而不是hibernate查询使用存储过程而不是在dao类中使用hibernate方法或查询有什么好处?
ilmyapht1#
根据您在存储过程中执行的操作,使用存储过程来避免连续数据库调用的网络往返可能会更好。我不知道mariadb是否支持这一点,但我认为有些数据库支持预编译存储过程,以进一步减少延迟。尽管如此,如果您使用数据库的高级sql特性(递归cte、窗口函数、匿名块),您应该能够获得非常相似的性能。在我看来,只有当存储过程被不能共享代码的多个应用程序调用时,才有意义使用存储过程。
1条答案
按热度按时间ilmyapht1#
根据您在存储过程中执行的操作,使用存储过程来避免连续数据库调用的网络往返可能会更好。我不知道mariadb是否支持这一点,但我认为有些数据库支持预编译存储过程,以进一步减少延迟。
尽管如此,如果您使用数据库的高级sql特性(递归cte、窗口函数、匿名块),您应该能够获得非常相似的性能。在我看来,只有当存储过程被不能共享代码的多个应用程序调用时,才有意义使用存储过程。