表題にはcakephpって書いてるけど普通にPHPで使う方法も同じってことで。
続きを読む cakephp 2.2.2 でTwitter検索API 1.1を使う
導入したNetbeansをしばらく快適に使ってIDEの高機能さに驚愕しつつ
あたいもうテキストエディタには戻れない!とか思ってたんやけどある日妙なエラーが。
コード書くのに長らくサクラエディタを使ってきたけどそろそろプロジェクトごとの管理とか色々出てきたので、
開発マシンがWindows7になったのをきっかけにIDEを使ってみることに。
主にってかほぼPHPの開発用。
Netbeansってのがデザイナーさんなんかも使ってて評判がいいのでこれにしてみる。
画像は無闇にかわいいマスコット「ねこび~ん」
はまったので備忘録的に。
CakePHPのmodelを使って、レコードの削除をしてたんやけどどうもレスポンスが悪い。
Model の deleteAll メソッドに指定した検索条件のカラムににはちゃんとINDEXは貼ってあるけど
どうもINDEXが使われてないような感じがする。
で、MySQLの方で実際に発行されてるSQLを調べてみると
deleteAllがコールされた段階で SELECT とDELETE がセットで呼ばれてるようだ。
deleteAll に指定した検索条件で SELECT した後、その SELECT 結果から取得した id で DELETE をやってる。
普通に使ってるテーブルなら id はたいてい PRIMARY KEY になってるから気にしてなかったけど
今回のはログテーブルだったもんで id にINDEX 貼ってなかったのが原因だったようで…
id にINDEX追加したら無事爆速なレスポンスになったとさ。
タイトルのまんまですが結構はまったのでメモ。
Model内に直接書くとちゃんとコールバックが実行されるので
beforeSaveとafterFindを両方書いた