2009-12-21 25 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驅動程序本身的子類...

雖然當然這是所有意見!