PDO ::查询与PDOStatement :: execute(PHP和MySQL)

时间:2012-02-10 19:00:26

标签: php mysql pdo prepared-statement

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

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

2 个答案:

答案 0 :(得分:8)

是的,因为当您调用PDO::prepare时,服务器必须为该查询创建查询计划和元信息,然后在使用PDO::execute时绑定指定的参数会产生额外的开销。因此,为了节省此开销并提高性能,您可以将PDO::query用于没有参数的查询。

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

答案 1 :(得分:1)

在PHP中以两种不同的方式做任何一件事都有一个可衡量的区别。您应该评估每种方法对您的价值,并创建测试用例,以确定以某种方式做某事是否值得。