blogPHPでWEB+DBシステムの開発をやっています。key)がDBに存在するかを確認するSELECT文が発行されて、存在すればUPDATE文が発行されます。1レコードだけを更新するなら特に気にする必要は無いのですが、大量のレコードを逐次UPDATEする際はこのSELECT文を抑制したくなります。そこでこのSELECT文を抑制する方法を調べてみました。Model#$__exitstsにtrueを入れるちょっと強引な方法ですが、save()を実行する直前でModel#$__exitstsにtrueを入れると、SELECT文が発行されません。Model#$__exitstsはsave()実行後、nullにリセットされるので元の値を戻す必要はありません。Model#exists()を継承するSELECT文はModel#exists()で発行されるのでこれを継承して実行を抑制する方法です。下のソースのように抑制するか否かでフラグを持たせると使い勝手が良いでしょう。フラグ値戻す手軽で使い勝手も良いのは1.ですが、いちおうModel#$__existsは(コメント上では)privateのようなので、2.の方がお行儀の良いコードですね。