以前から気になっていたことなのですが、SQLにはCONCAT()やROUND()など様々な関数がありますが、文字列連結や四捨五入の処理はサーバーサイドのプログラムでも可能ですよね。
単純な疑問なのですが、どういった処理はSQL側に寄せて、どういった処理はサーバーサイドのプログラム側に寄せたら良いのでしょうか?
Max()やCount()などは感覚的にSQL側で行って結果をサーバーサイドのプログラム側で取得するといったイメージはあるのですが。。。
SQL側でできることはできるだけSQL側で行った方が良いのでしょうか?
確かにその場合の方がSQLコマンド一発で最終的に得たい結果を得られそうなので効率が良さそうですが。
ORMを使っている場合はそもそも使えないSQLコマンドもありそうですが、どうぞよろしくお願い致します。
#例
SELECT DAYNAME(created_at) AS day, COUNT(created_at) AS total FROM users GROUP BY day ORDER BY total DESC;
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/06/19 03:39