ars*_*nal 34 stored-procedures prepared-statement
存储过程和准备语句之间有什么区别......哪一个更好,为什么...... !! 我试图谷歌但没有更好的文章......
Thr*_*oze 45
存储过程是PL/SQL语言中的一系列指令.是一种由某些DBMS实现的编程语言,它允许您存储经常应用于模型的查询序列,并与应用程序层共享处理负载.
准备语句是使用占位符而不是实际值编写的查询.您编写查询并且它只由DBMS编译一次,然后您只需将值传递到占位符中.使用预准备语句的优点是可以显着提高性能,并保护您的应用程序免受SQL注入.
不同的是你不能存储准备好的陈述.每次需要执行时,您必须"准备"它们.另一方面,存储过程可以存储,与模式相关联,但是您需要知道PL/SQL来编写它们.
您必须检查您的DBMS是否支持它们.
两者都是非常有用的工具,您可能想要结合使用.
希望这个简短的解释对你有用!
Yah*_*hia 12
存储过程存储在数据库中 - 取决于在服务器上创建它时编译并可能已准备好的数据库(Oracle,MS SQL Server等)...
准备好的语句是由服务器解析的语句,并且每当您运行语句时,服务器都会创建执行计划,准备执行...通常,当语句多次运行时,它是有意义的...取决于数据库服务器(Oracle等)甚至有时配置选项这些"准备"是会话特定的或"全局的"...
比较这两者时没有"更好",因为它们具有特定的用例......
Ran*_*art 10
其他答案暗示了这一点,但我想明确列出优点和缺点:
存储过程
优点:
缺点
准备的陈述
优点
缺点
为了我的钱,我每次都会使用存储过程,因为它们只需要编写和编译一次。之后,每次调用该过程都可以节省时间,无论您是否处于新连接中,以及是否以循环方式调用该过程。唯一的缺点是需要花一些时间学习编程语言。如果我没有写存储过程的权限,则可以使用一条准备好的语句,但前提是必须在同一会话中多次重复执行同一查询。
这是我对这两种结构之间的差异进行了数月的反复研究后得出的结论。如果有人能够纠正我所做的错误概括,那么声誉损失将是值得的。
| 归档时间: |
|
| 查看次数: |
25011 次 |
| 最近记录: |