【问题标题】:when to use sql and when to use stored procedure?什么时候用sql,什么时候用存储过程?
【发布时间】:2011-05-11 21:30:21
【问题描述】:

什么时候用sql,什么时候用存储过程?

它们之间有什么区别?我只知道存储过程是预先编译好的并存储在数据库服务器中,我们可以重用它。但是sql呢?例如:

select * from Employee

这个sql每次发送到数据库都要编译吗? 还有其他区别呢?

【问题讨论】:

标签: mysql sql stored-procedures


【解决方案1】:

这个问题可以重新解释为“你想在哪里保留你的业务逻辑?”

业务逻辑是系统的核心功能,它定义了您希望它如何工作。

您可以选择将您的业务逻辑放在您的数据库中(即作为存储过程、存储函数、表约束等)或应用程序代码(即在随后生成查询的软件函数中)。

这是一个架构决定,但总的来说,我建议仅在有意义的情况下使用 SP(例如,对于在代码中的许多地方经常重复的查询,或者在您真正需要的区域中的特定性能)以及在哪里使用 SP 会产生真正的影响)。

这是一篇文章的链接,可能会有所帮助:http://c2.com/cgi/wiki?BusinessLogicInStoredProcedures

【讨论】:

    猜你喜欢
    • 2012-04-05
    • 2011-06-23
    • 2010-11-13
    • 2011-09-28
    • 2012-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多