PHP中的ADOdb和PDO有什么区别?

时间:2009-12-21 22:29:12

标签: php pdo adodb-php

两者似乎都试图在PHP中使用数据库使其更简单。两者似乎都提供了对MySQL,SQLite等不同数据库类型的抽象。

ADOdb和PDO之间有什么区别?

4 个答案:

答案 0 :(得分: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。

答案 1 :(得分:4)

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

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

答案 2 :(得分:4)

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

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

答案 3 :(得分:4)

PDO原生且非常快。

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

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

当然,这都是意见!