根据文档,如果您多次运行查询,准备好的查询会提供显着的性能优势,因为 MySQL 服务器解析查询的开销只发生一次。我想知道他们所说的“多次”到底是什么意思。
即,假设您有一个运行一次查询的网页。现在假设该页面每秒被调用 50 次。从性能的角度来看,prepare() 查询(因此需要到数据库服务器的两次往返;一次准备查询,一次运行查询)或仅正常发送查询(只需要一次往返)是否更有意义? ? MySQL 和/或 PHP mysqli 驱动程序是否足够智能,可以在上一次调用中准备好查询时意识到这一点?
最佳答案
没有。 PHP 是一种“无共享”架构,因此与一个请求(一个页面 View )关联的每个资源都在该请求结束时被丢弃。准备好的查询不可用于后续数据库连接。
您可以从准备好的查询中获益的场景是您在同一个 PHP 请求期间多次准备和执行它。
关于php - MySQL 准备好的查询是否为每 session 一次的查询提供性能优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/322319/