【问题标题】:Do MySQL prepared queries provide a performance benefit for once-per-session queries?MySQL 准备好的查询是否为每会话一次查询提供了性能优势?
【发布时间】:2010-09-24 06:03:55
【问题描述】:

根据文档,如果您多次运行查询,准备好的查询将提供显着的性能优势,因为 MySQL 服务器解析查询的开销只发生一次。我想知道那里的“多次”到底是什么意思。

也就是说,假设您有一个网页会运行一次查询。现在假设该页面每秒被调用 50 次。从性能的角度来看,prepare() 查询是否更有意义(因此需要两次往返数据库服务器;一次准备查询,一次运行它)还是只正常发送查询(只需要一次往返) ? MySQL 和/或 PHP mysqli 驱动程序是否足够智能,可以意识到在之前的调用中何时准备()查询?

【问题讨论】:

    标签: php mysql mysqli prepared-statement mdb2


    【解决方案1】:

    没有。 PHP 是一种“无共享”架构,因此与一个请求(一个页面视图)关联的每个资源在该请求结束时都会被丢弃。准备好的查询不适用于后续的数据库连接。

    您将从准备好的查询中受益的场景是当您准备它并在相同的 PHP 请求期间多次执行它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-25
      • 1970-01-01
      • 2019-01-11
      • 2021-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-26
      相关资源
      最近更新 更多