我已经扩展了PDO类来创建一个简单的DB类,并且当前对运行到数据库的所有查询使用prepare + execute,甚至是那些没有参数的查询(例如SELECT * FROM table)。
问题是:对于没有参数的简单查询而不是准备/执行实际使用PDO :: query是否有性能优势?
答案 0 :(得分:8)
是的,因为当您调用PDO::prepare
时,服务器必须为该查询创建查询计划和元信息,然后在使用PDO::execute
时绑定指定的参数会产生额外的开销。因此,为了节省此开销并提高性能,您可以将PDO::query
用于没有参数的查询。
但是,根据应用程序的规模和大小以及服务器/主机配置(共享/私有),您可能会或可能看不到任何性能提升。
答案 1 :(得分:1)
在PHP中以两种不同的方式做任何一件事都有一个可衡量的区别。您应该评估每种方法对您的价值,并创建测试用例,以确定以某种方式做某事是否值得。