php - PDO在mysql中的性能

标签 php mysql pdo

最近我在浏览一个博客,注意到一些关于在 mysql 中使用 PDO 的观点,它改变了我对 PDO 的看法。 要点是:

  1. 原生预编译语句无法利用查询缓存,导致性能较低。

  2. native 准备语句无法执行某些类型的查询,例如“SHOW TABLES”

  3. native 准备好的语句无法正确传达某些其他“SHOW”查询的列长度,导致出现乱码结果。

  4. 使用 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/

相关文章:

php - Laravel 选择 db raw groupBy

java - 如何在 MySQL 行的一个单元格中存储相同数据类型(对象数组)的多个值。?

php - 当行内容来自数据库时,单击按钮动态添加表行

php - 如何使用 PDO 从 MySQL 获取正确的数据类型?

php - Zend 异常行为 : can not process 2nd request when 1st request still running

php - 测试 PDO 查询,如果失败,则执行其他操作

php - Codeigniter 根据 id 返回用户名

php - 无法加载请求的类 : session

php - Symfony2 : Same codebase with multiple environments leads to tons of cache files

java - 如何使用Servlet在MySQL中保存数组?