根据文档,如果您多次运行查询,准备好的查询会提供显着的性能优势,因为解析查询的MySQL服务器的开销只发生一次.我想知道他们在那里“多次”是什么意思.
即,假设您有一个运行查询一次的网页.现在说该页面每秒被调用50次.从性能的角度来看,准备()查询是否更有意义(因此需要两次往返数据库服务器;一次准备查询,一次运行它)或者只是正常发送查询(只需要一次往返) ? MysqL和/或PHP MysqLi驱动程序是否足够聪明,以便在先前的调用中查询是否为prepare()?
解决方法:
不.PHP是一种“无共享”架构,因此在该请求结束时会丢弃与一个请求相关联的每个资源(一个页面视图).准备好的查询不适用于后续数据库连接.