gpt4 book ai didi

stored-procedures - 存储过程和准备好的语句之间的区别?

转载 作者:行者123 更新时间:2023-12-03 07:55:45 25 4
gpt4 key购买 nike

存储过程和准备好的语句有什么区别......哪个更好,为什么......!我试图用谷歌搜索它,但没有更好的文章......

最佳答案

其他答案已经暗示了这一点,但我想明确列出优点和缺点:

存储过程

优点:

  • 每个查询的处理速度都比直接查询快,因为服务器预先编译了它们。
  • 每个查询只需要编写一次。它可以根据需要执行多次,甚至跨不同的 session 和不同的连接。
  • 允许查询包含单独用 SQL 编写不可能或难以编写的编程构造(例如循环、条件语句和错误处理)。

  • 缺点
  • 需要了解数据库服务器使用的任何编程语言。
  • 有时可能需要特殊权限才能编写或调用它们。

  • 准备好的报表

    优点
  • 像存储的例程一样,因为查询是预编译的,所以速度很快。

  • 缺点
  • 每个连接或 session 都需要重新编译。
  • 为了物有所值,每个准备好的语句必须执行多次(例如在循环中)。如果查询只执行一次,则准备好的语句的准备工作要比返回的开销多,因为服务器无论如何都需要编译 SQL,而且还要制作准备好的语句。

  • 为了我的钱,我每次都会使用存储过程,因为它们只需要编写和编译一次。之后,每次调用该过程都会节省时间,无论您是否在新连接上,以及是否在循环中调用该过程。唯一的缺点是需要花一些时间学习编程语言。如果我没有编写存储过程的权限,我会使用准备好的语句,但前提是我必须在同一个 session 中多次重复执行相同的查询。

    这是我在对这两种结构之间的差异进行了几个月的断断续续研究后得出的结论。如果有人能够纠正我所做的错误概括,那么任何声誉损失都是值得的。

    关于stored-procedures - 存储过程和准备好的语句之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7296417/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com