PostgreSQLで複数行の結果をまとめて1行として表示する

2012-05-29

SQL で返ってきたあるフィールドの文字列をある条件に従って連結するといった処理はよくあると思うが、某サイトのプログラムでこの処理のせいでとても処理が重くなってしまっていることが判明した。
これだけ遅いと、はっきり言って使ってられない、、、と思うのだが、今までまったくクレームが無かったということは、おそらく使っていないのだろうw
そんなサービスに手を入れるのもなんなのだが、一応仕事なので仕方ないか。。。。
優先度は最低にしておこうwww

ということで、これの解決策をいろいろ調べてみたのだが、結局のところ SQL レベルで改善するのが一番良いと結論。
SQL で結果セットを元にまとめて1行として表示する、、、というのはいわゆる集約関数の出番なわけだが、これしきのことで自前で集約関数を作るのも、、、、ということでいろいろ調べてみたのだが、結局トリッキーな方法しか見つからず(^_^;
なんか、シックリ来ませんな~

せっかくなので、一応メモを作成。

PostgreSQL:複数行の結果をまとめて1行として表示する

これなら、自前の集約関数を一度作っておいて、それを毎回作る方が良いような気がするな(/_\*)

2012
4