2009-12-21 78 views

回答

13

从5.1版开始,PDO在PHP中是标准的。 (它也可在PHP 5.0中使用PECL扩展)大多数托管提供将启用它。 AdoDB不是标准扩展。另外,我相信PDO驱动程序是“PHP本地”:它们建立在PHP本身构建的相同库的基础之上,并使用相同的底层例程来处理内存管理。因此,潜在地,PDO比AdoDB更轻量。

根据这个基准,ADODB比PDO要慢得多:(固定链接) http://tonylandis.com/performance/php-adodb-pdo-mysql-database-apc-benchmark/

当然,你应该考虑这是否为你的使用情况更喜欢PDO或不够重要。

4

嗯,我认为它归结为偏好。 ADOdb更适合习惯微软数据库访问(ADO)风格的人,而PDO更像“PHP”,也是PHP与ADOdb主流的一部分,这种风格与ADOdb有所不同。

在一天结束时,它将基于您的目标数据库(ADOdb支持更多)以及您喜欢的语言风格。就我个人而言,我喜欢PDO,它适合我的需求。

4

从技术角度来看,最显着的区别是PDO是本机扩展,从PHP 5开始,PHP以其快速编译的形式始终包含在内。还有一个ADODb的扩展,但您必须先将它安装在PHP中。这是支持PDO的强有力论据,因为基于此的产品可能在更多的环境中运行得更快。

ADOdb支持比PDO更多的数据库。

+0

好点重新。更宽的数据库支持再说一遍,你可以使用PDO_ODBC作为更奇特的,尽管我可以想象它明显比PHP本地PDO驱动更慢。 – 2009-12-21 22:43:57

4

PDO是原生且相当快的。

ADOdb是一个更丰富的库,甚至有像ORM(对象关系映射)这样的东西。

对我来说,PDO的巨大缺点是调试时出现错误是很糟糕的,因为它没有PHP源代码。当我调试一些复杂的代码时,唯一能看到正在执行的确切SQL的唯一方法是PDO驱动程序本身的子类...

虽然当然这是所有意见!