素人ながら、データベースのミリキ

データベースは楽しい。

いや、楽しくないらしいのだが、雲の如く掴みどころのないようなデータの集まりが、
さまざまな規則性を持たせて魔法をかけることで、自在にほしい形にして手に入れることを可能にしてくれる。

それをSQL文という。それだけじゃなく、データベースにもたくさんの種類があるし、魔法の種類も沢山ある。エキスパートの方には噴飯ものの説明だろうが、この日記はそんなに相手にされていないから大丈夫だ。

たとえば、いまやっている仕事でこんなことことがあった。
データベースからプログラムにあるデータを一行づつ引っ張ってきて、その中の数値をプログラムの中で判定し、Aならばこの処理、Bならばこの処理・・・とやっている。判定処理は複雑で幾つもあり、これが組み合わさってやたらとプログラムのソースが長くなる。処理に時間がかかると。
そんな時師匠は、(勝手に心でそう呼んでいる)「その判定処理を減らすことはできますよ」というような意味のことを言って、次のような魔法をかけたわけだ。

データベースからデータを取り出す際に、プログラムのソース上でやっているいくつかの判定をSQLサーバーにやらせて、プログラムが受け取るときには加工されステップ数で結果にぐんと近づいた状態にする。

あとは簡単な話しだ。プログラムは結果を出すまでのステップ数を大幅に減らすことが出来、クライアントPCの処理能力に余り負担をかけずに目的を達することが出来る。というわけです。

「これは魔法だ」と感激したとともに、「開始から終了までの行程(やらねばならないこと)自体は決して削れない」ということが改めてわかった。手順は変えられないので、見えない所での処理を増やし、見えるところ、自分のPCでの処理を減らしただけ、バランスの調整だけで、結果を出すまでの速度は飛躍的に上がったのだった。

実に地味だけど、データベース無しには便利な生活は営めない現代である。
極めるなんてこたとても無理だろうけど、自在に魔法を操ることが出来たらなあと考えるとわくわくする一方で、難しい解説書を考えるとげんなりしたりするのです。