最近我在浏览一个博客,注意到一些关于在 mysql 中使用 PDO 的观点,它改变了我对 PDO 的看法。 要点是:
原生预编译语句无法利用查询缓存,导致性能较低。
native 准备语句无法执行某些类型的查询,例如“SHOW TABLES”
native 准备好的语句无法正确传达某些其他“SHOW”查询的列长度,导致出现乱码结果。
使用 native 准备好的语句多次调用存储过程会导致连接断开。
有人可以对此发表评论吗?
我想在我的网络应用程序中使用查询缓存。在考虑到我网站的性能问题后,我准备移动我的网络应用程序以使用 PDO。 谁能给我建议?
提前致谢。
最佳答案
嗯
- 第一点你是对的
- SHOW 和 SHOW TABLES 是大多数用例中不常用的命令
- 我正在将准备好的语句与存储过程结合使用,还没有遇到过此类问题。
您可以使用以下命令启用查询缓存:
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);
此命令仅适用于 PHP 5.1.3。
关于php - PDO在mysql中的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2433350/