0

基本的に、私は mysql メソッドよりも PDO を使用していると批判した友人と話していました。彼の主張は、

$dbh = new PDO(irreleventparams);

PDO の完全なクラスと定数を取得する必要があるため、必要以上に多くのリソースを必要とします。使用する必要がある PDO のメソッドは、PHP に既に含まれている mysql メソッドとは対照的に、prepare()bindParam()だけです。execute()

だから私の質問はこれです、これは本当にすべての定数とメソッドをインポートする必要があるということですか、そしてこれはリソースの観点からどれだけの欠点ですか、無視できるものですか、それは目立つものですか? サーバーはリクエストによって限界までプッシュされる可能性があるため、最小限のリソースを使用することをお勧めします。

4

2 に答える 2

1

パフォーマンスに関する苦情に対処するための最初のステップは、方法 A と方法 B を比較するベンチマークを準備することです。次のステップは、他の人にベンチマークを見てもらい、明らかな最適化を見逃していないことを確認することです。

私は PDO を可能な限り最大限に使用し、自分のコードが SQL インジェクションから安全であることを知りたいmysql_queryと思っています。うっかりミスで SQL インジェクションのバグに遭遇し、誰かがデータベースを盗んだら、世界中のすべてのパフォーマンスが無意味になります。

PHP ランタイム環境が適切に構成され、MySQL 接続プールが使用されていれば、異なるデータベース レイヤー間の違いはほとんどないことに注意してください。

mysqliPDO や、検討する価値があると思われるその他のデータベース インターフェイス (おそらくADOdbなど) と比較する必要があります。のようなダミー クエリだけでなく、実行しようとしている作業を表すクエリを使用してテストを作成しますSELECT 1。実稼働システムが処理しなければならない量よりも多くのダミー データがロードされた実際のスキーマを使用するのが最善です。これにより、負荷がかかった状態でどのように動作するかを把握できます。

アプリケーション サーバーが「限界に達している」場合は、おそらくアプリケーション サーバーを追加する必要があります。

于 2013-05-24T02:03:18.170 に答える
0

現実には、従来の mysql_connect() および関連する関数はわずかに高速ですが、違いはまったく無視できます。そして、違いが実際よりも少し大きかったとしても、あらゆる点で PDO を使用する価値はあります。入力するのが速くなり、セキュリティに関して心配する必要が少なくなります。

于 2013-05-24T02:10:55.720 に答える