数据库
首页 > 数据库> > php – MySQL准备好的查询是否为每次会话一次的查询提供了性能优势?

php – MySQL准备好的查询是否为每次会话一次的查询提供了性能优势?

作者:互联网

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

即,假设您有一个运行查询一次的网页.现在说该页面每秒被调用50次.从性能的角度来看,准备()查询是否更有意义(因此需要两次往返数据库服务器;一次准备查询,一次运行它)或者只是正常发送查询(只需要一次往返) ? MySQL和/或PHP mysqli驱动程序是否足够聪明,以便在先前的调用中查询是否为prepare()?

解决方法:

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

您可以从准备好的查询中获益的情况是在准备它并在同一PHP请求期间多次执行时.

标签:php,mysql,mysqli,prepared-statement,mdb2
来源: https://codeday.me/bug/20190527/1161118.html