php - PDO::query 与 PDOStatement::execute(PHP 和 MySQL)

标签 php mysql pdo prepared-statement

我扩展了 PDO 类以创建一个简单的 DB 类,目前对所有运行到数据库的查询使用 prepare + execute,即使是那些没有参数的查询(例如 SELECT * FROM table)。

问题是:对于没有参数的简单查询实际使用 PDO::query 代替准备/执行是否有性能优势?

最佳答案

是的,因为当你调用 PDO::prepare 时,服务器必须为该查询创建一个查询计划和元信息,然后在你使用 时绑定(bind)指定参数会有额外的开销>PDO::执行。因此,为了节省这种开销并提高性能,您可以使用 PDO::query 进行不带参数的查询。

但是,根据您的应用程序的规模和大小,以及您的服务器/主机配置(共享/私有(private)),您可能会或可能不会看到任何性能提升。

关于php - PDO::query 与 PDOStatement::execute(PHP 和 MySQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9233256/

相关文章:

php - cakephp 分组依据,每组有 n 个结果

php - 我如何让我的 Android 应用程序向 sqlserver 发送和接收数据/信息

PHP5.6和APC安装

php - 在 mysql 查询中不能有两个 where 语句

php - 仅从项目中选择一次项目,如果没有更多可用项目,则选择第二次

php - 你能在 Laravel Eloquent 中使用命名参数吗

javascript - PHP jQuery HTML - 获取自定义 HTML 属性

mysql - MySQL 连接器/Python 是否与 python 3.6.1 一起工作

mysql - querybuilder symfony2 中的高级 SQL 查询

php - 获取网站 PHP MYSQL 的访问总数