web-dev-qa-db-ja.com

Wpdbは大きな結果セットを持つクエリにかなりのオーバーヘッドを追加しますか?

私はバックアップ関連のプラグインと既存のプラグインのいくつかの調査から作業しています - それらはmysql_*よりもPHPの$wpdb関数の使用を好むようです。

$wpdbのオーバーヘッドは十分に大きいので、データベーステーブル全体を照会するなどの作業には不適切です。

6
Rarst

非常に大きな結果セットを返すクエリに$ wpdbを使用すると、大量のメモリ使用量が発生します。 $ wpdbは、任意のクエリからの結果全体をメモリにロードします。あなたが言っているのであれば、つまり、すべての投稿を選択すると、それはすぐに全部をメモリにロードしようとします。

そのため、バックアッププラグインのようなものでは、データを取得するためのループを使用してmySQLを直接呼び出すほうが意味があります。

5
Otto

念のために、誰かがQ: Here を読むとglobal $wpdbオブジェクトからPastebinができ、 ここで メモリ使用量トレース機能が少しあります。それは今のところテストされていないので、機能に関する任意のコメントは高く評価されています。

1
kaiser