11

どちらも、PHP でデータベースを使用して簡単にしようとしているようです。どちらも、MySQL、SQLite などのさまざまなデータベース タイプの抽象化を提供しているようです。

ADOdb と PDO の違いは何ですか?

4

4 に答える 4

13

バージョン 5.1 以降、PDO は PHP の標準です。(PHP 5.0 の PECL 拡張機能でも利用できます) ほとんどのホスティング プロバイダーでは有効になっています。AdoDB は標準の拡張機能ではありません。

また、PDO ドライバーは「PHP ネイティブ」であると考えています。それらは、PHP 自体が構築されたのと同じライブラリーの上に構築されており、メモリ管理などのために同じ基本ルーチンを使用しています。したがって、潜在的に、PDO は AdoDB よりも軽量です。

このベンチマークによると、AdoDB は PDO よりかなり遅い: (固定リンク) https://gist.github.com/tony-landis/31483

もちろん、これがユースケースにとって PDO を優先するのに十分重要であるかどうかを検討する必要があります。

于 2009-12-21T22:42:34.440 に答える
4

PDOはネイティブで、かなり高速です。

ADOdbはより豊富なライブラリであり、ORM(Object Relational Mapping)のようなものもあります。

私にとって、PDOの大きな欠点は、PHPソースがないため、問題が発生したときにデバッグするのが恐ろしいことです。複雑なコードをデバッグしているときに、実行されている正確なSQLを確認する唯一の方法は、PDOドライバー自体のサブクラスでした...

もちろん、それはすべて意見です!

于 2009-12-21T23:14:20.123 に答える
4

まあ、好みの問題だと思います。ADOdb は、Microsoft スタイルのデータベース アクセス (ADO) に慣れている人向けであり、PDO は "PHP" に似ており、PHP の主流の一​​部でもあり、ADOdb は脇に座っています。

結局のところ、ターゲットDBが何であるか(ADOdbはより多くをサポートしています)と、好みの言語スタイルの種類に基づいています。個人的には PDO が好きで、私のニーズに合っています。

于 2009-12-21T22:34:04.093 に答える
4

技術的な観点から見た場合の最も顕著な違いは、PDO がネイティブ拡張機能であり、PHP 5 以降、高速でコンパイルされた形式で常に PHP に含まれていることです。ADODb 用の拡張機能もありますが、最初に PHP にインストールする必要があります。PDO に基づく製品は、より多くの環境でより高速に実行される可能性が高いため、これは PDO を支持する強力な議論です。

ADOdb は、PDO よりも多くのデータベースをサポートしています。

于 2009-12-21T22:34:36.500 に答える