【问题标题】:Mysql query vs stored procedure performanceMysql 查询 vs 存储过程性能
【发布时间】:2011-10-13 02:41:20
【问题描述】:

我在mysql上试过查询,查询调用了其他函数。 然后我在存储过程中添加了相同的查询,然后在 mysql 上执行了该过程。 正常查询的执行时间比过程少了 1 秒。 不应该是相反的,因为过程被缓存了。

如果我在这里遗漏了什么,请向我解释。非常感谢您分享知识。

问候

【问题讨论】:

  • 需要更多信息,最好是查询
  • 请显示一些代码,您的查询和表定义。
  • 你试过第二次了吗?这对两者的代码也很有用。
  • 你可能想查看这篇文章 - stackoverflow.com/questions/1577316/…

标签: mysql


【解决方案1】:

存储过程在数据库中首次创建时只解析和编译一次,而文本查询每次执行时都需要解析和编译。这就是差异,对于有限数量的呼叫来说它很小。
如果您尝试仅针对单个查询进行比较,则查询是最好的选择方式,但对于大型查询,您应该使用 stroed 过程。

【讨论】:

    【解决方案2】:

    我不知道 mysql,但对于 Oracle 等其他数据库引擎,查询可能会在编译后被缓存并链接到连接。甚至数据实际上也可能被缓存。

    您是否尝试过多次启动查询和存储过程?必须对性能进行正确的估计。

    【讨论】:

      猜你喜欢
      • 2013-07-23
      • 2015-04-18
      • 2011-11-28
      • 1970-01-01
      • 2012-06-24
      • 2013-09-13
      • 1970-01-01
      • 1970-01-01
      • 2014-04-06
      相关资源
      最近更新 更多