相关疑难解决方法(0)

我应该在PHP PERFORMANCE-WISE中使用MySQL的预处理语句吗?

我理解MySQL中预准备语句的安全性好处.这里不需要涉及这个主题.我想知道它们的性能方面.

现在,我知道当使用预准备语句的查询在单个PHP脚本中执行两次时,它更快,因为查询只被解析一次,每次查询一次.客户端进行一次准备,然后使用二进制协议发送数据两次.二进制协议速度更快,而且您不必再次进行解析.

但是,我只想在一个PHP脚本中执行一次查询的情况呢?看起来使用准备好的声明会更糟糕,因为你要两次前往服务器,一次准备,一次发送数据.只需要解析一次的好处就丢失了,你第二次旅行就受到了惩罚.如果数据的二进制格式不够小,那么使用准备好的语句会丢失,对吗?

但是,我已经阅读了一些关于PHP的mysqli或PDO库做什么的相互矛盾的报道?它们中的任何一个是否跨脚本执行缓存预准备语句?服务器是否必须在后续页面加载时再次解析预准备语句?如果答案是否定的,那么语句不必在第二个页面加载上进行解析,那么即使您每页面加载仅执行一次查询,看起来准备好的语句也会更好.

请考虑MySQL版本之间是否有任何相关变化.您可以放心地假设我使用的是PHP 5.2

编辑:只是为了说清楚,我想要专门针对MySQL和PHP的答案,指定MySQL版本,如果这是不同的,并且只考虑性能,而不是易用性或安全性.

更新:我接受了我的答案,因为后续评论有一些好主意.我仍然有点失望,似乎没有人能够回答我提出的实际问题的症结.我猜有时答案真的是"这取决于".

php mysql performance pdo prepared-statement

22
推荐指数
2
解决办法
9158
查看次数

准备好的声明与存储过程

如果您使用的是php5和mysql5,那么在预处理语句中使用存储过程是否有很大的优势?(我读到某处你可能无法从mysql5存储过程中获得实质性的性能提升)

php mysql stored-procedures prepared-statement

19
推荐指数
3
解决办法
2万
查看次数