Cを書くとき、どのような処理が実際に行われるのか考えながら書くと、速い処理を実現することができます。マシンの発達により、科学計算などではなく日常的な処理であれば、そこまで人間の頭を使う必要はなく(逆にいえばそこまでするためにCを用いる)、Rubyなどの超高級言語をつかってコーディングの手間を減らすことができます。
DB処理でも同様でしょう。SQLを書くとき、オプティマイザがどのように処理するのか考えつつ書く必要があります。クエリの処理手段やオプティマイザの癖はDBによるので、そのDBにたいする知識も必要です。だから、SQL構文自体はたとえポータブルであっても、処理としてはそうでない場合もあるでしょう。そこで、O/R toolの登場で、低層処理の扱いを自動化してくれます。というわけで、SQLを書くのは意外と難しい。ところで、マシンの発達により日常的なクエリ処理であれば十分高速かといえるかです。だいぶ近づいたでしょうが、言い切れるほどでもない気もします。