数年後、このブログはサクセスストーリーとなる! / written by イノクマ(仮)

SQLが苦手

今作りかけのアフィリエイトサイトでMySQLのデータをちょっとばかし面倒臭い感じの集計を行う必要があった。
ざっくりいうと……うまく説明できないな。
とりあえず、使うテーブルが4つあって、使うフィールドは6つ(+リレーション用のキーが3つ×2テーブル分)。
初めは、4つの値を足したり、かけたりして「重み」を求めて、1つの値の加重平均を求める。
次に残る一つのテーブルとリレーションしてみて、紐付いた時と、紐付かなかった時で別々の値をかける。
計算で出た値を指定のフィールドに上書きして終わり。

……といった内容で、MySQLだけで書くのは大変なので、SELECT文で取りだして、変数か配列に格納して、UPDATE文で更新しようかなぁ……と思ったんですが、処理速度とか考えるとMySQLだけで処理してしまいたい。
てか、複雑だからこそMySQLだけで処理すべき。
なんてことを思ったんですが、日常的には、アクセスのデータベースしか使わないので……
(アクセスはSQLをGUIで発行できる仕組みが備わっており、SQL文を書くことはほとんどない。また、SQLがそんなに早くなく、VBAで処理した方が早い場合が多い気がする)
……そんなわけで、3つ以上のリレーションを組むようなSQL文は書いたことがない。

で、気合いを入れて、書き始め……、わからんとこはぐぐったり……本で調べたり……。
SQLを1文書くのに、1時間半もかけてしまいました。

てか、いわゆるプログラミング言語と違い、SQLはできることがかなり限られている。
(SQLもプログラミング言語と呼ばれることもあるようですが)
実際、SQLを専門で扱っているデータベース管理者的な人材の需要ってどれくらいあるんだろうか。
狭義のプログラミング言語に比べると、極めて生産性が低い気がするが……。

なんてことを考えつついろいろ調べていると面白い記事を見つけました。
http://www.atmarkit.co.jp/ait/articles/1208/22/news132.html
この記事に書かれている「ぐるぐる系」「がつん系」ってのが、言い得て妙、と。
どうしても僕は、ぐるぐる思考で考えてしまうから、SQLが苦手なんだな、と思います。

ちょっと落ち着いたら、この人の本で勉強してみようかな……。

最後まで読んで頂き、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事
No articles