2009-08-01から1ヶ月間の記事一覧

ZendFrameWorkでエラーコントローラを使おうとした時のお話し。

ZendFrameWorkのコントローラは初めからエラー処理が組み込まれてるから、ErrorControllerとerrorActionを作ってあげるだけで、本当なら終わりなのですが、このErrorControllerはデフォルトのモジュールの物が呼ばれる仕様なのに、実行中のモジュールの物が…

smartyの値の中の演算子の謎

たまにsmartyのテンプレートでちょっとだけ複雑な事やろうとした時とかに、毎回ハマってしまうお話し。値に演算子(計算式)を入れると、計算されずに文字列で帰ってくることがある。 マニュアルにもらしい解説がないので毎回毎回悩まされるので、分かり易く…

ユーザーデータを集計して、ランキングを取りたかった時のお話し。つづき

前回のjoinとgroup byを使った方法は、対象件数が増えると乗算で処理に時間が掛かるため、数万件の処理にはとても耐えられなかったので、新しくsqlを作り直した時のお話し。つまり、前回の続きです。select-insert(なんて呼ぶのかよく分からないが、insert…

ユーザーデータを集計して、ランキングを取りたかった時のお話し。

userテーブルのcountカラムを集計して、rankテーブルにデータを登録(UPDATE)するsqlです。 ---- 上のデータをrankテーブルにアップデート UPDATE ( db.rank r left join( SELECT r1.uid, r1.count, COUNT( r2.uid ) +1 as rank FROM (SELECT uid, count FR…

データベースを行単位で他のテーブルにコピーするSQL文のお話し。

テーブルをコピーする時にこんな書き方をするかと思います。 INSERT INTO `table`.`test_copy` SELECT * FROM `table`.`test`; 要は、insert文のvalueをselectで埋めてる感じ。 このやり方を初めて見た時はちょっと感動だったのが懐かしです。 行単位にコピ…