見出し画像

~今日のやる気~ストアドファンクション初めて作りましたやった!

こんばんは。今日は一日かけてプログラム改修を行いました。

データベースはSQLServer、VisualStudio2013を使って作った今会社で稼働している基幹システムは、2009年に稼働し始めたシステムです。その前に2004年~2009年まで動いていた基幹システムもVBで作成したのですが、その前に動いていたシステムはオフコンと呼ばれる汎用機のシステムで言語はCOBOLでした。高校卒業してすぐに就職した製造業の情報システム室でオフコン+COBOLを習得していたので、今の会社のシステムリプレースでCOBOLソースを読み解くことは出来ました。2004年のシステム開発時に初めてVBに触れ、SQLServerにも触れ、そこから今のあたしがスタートしたわけです。

当時はCOBOLからVBへの移管、今までオフコンで出来ていたことをWindowsアプリで同じように出来るように、全プログラム作りました。作りながら覚えるという作業の中であたしに足りていなかったのは「用意された環境の中で効率よく動くものを作る」という部分でした。2004年の基幹システムが完成し、サーバもクライアントPCもOSのバージョンアップなどを経て2009年のシステムリプレースにつながったわけですが、そこでもやはりあたしには「効率よく」という部分が抜けていました。その「非効率」なアプリが今でも動いているわけですが、社員数も増え、PCも増え、拠点も増え、おのずとしてデータベースへの接続数も増えてきており、しかもデータもどんどん増えている中で、今動いている非効率な基幹システムはもう限界を迎えているといっても過言ではありません。そうは言ってもあたし一人では非効率だという事実にすら気付くことが出来なかったわけですが。

5月に入社した後輩は、どこぞかのシステム開発会社から転職してわが社へ入社されました。彼にあたしが作成した基幹システムのプログラムコードを見られるのは、言ってみれば「裸を見られるより恥ずかしい」です。なんかコードを人に見られるのってすごい苦手で、こんなコードしか書けないのか?なーんて思われそうで。なので未だにコードはあまり表立って見せてはいませんが、見せる代わりにこんなロジックで動いてるんだよ、っていう軽い説明をしました。そこであたしが今まで作ってきたプログラムの信じられない非効率っぷりが明るみに出たわけです。具体的に言うと、SQLServerのアクセス回数が多すぎる、というもの。一覧照会系のプログラムでは、ベースになるデータを読むためにアクセスし、1件ずつ参照しながら不足している項目をさらにデータベースへアクセスして1つずつ持ってくる…酷いものだと1回の処理でデータベースに何百回もアクセスするようなものがあったりします。後輩にしてみたらそれはありえない方法だったようで、こりゃ直したほうがいいですよ…というわけ。

そこからSQLServerのストアドプロシージャ・ストアドファンクション化計画がスタートしました。ストアド使わずに効率アップできた部分もありますが、せっかくなので新しいことにも挑戦したいしと思って、今日はストアドファンクションを作りました。まあ今日作ったものはSQLServerのSELECT文にちょこっと毛が生えた程度の処理をファンクション内に記載してデータを返すというもの。それでも今日直したとこは1回の処理で多い場合は80件ほどのデータを処理するもので、80件をループでまわしながらその中で3回別のSELECT文を投げているので、240回あまりデータベースにアクセスするポンコツプログラムでしたが、そこが1回のアクセスで済むようになったわけです。実際に走らせたときの体感(速度向上)は大したことないと思います、だけど気持ちだけはとてもすっきりしました。240回が1回って…!!!

というわけで、こんな酷いロジックがあちらこちらに散りばめられて何とか動いている今の基幹システムなので、改善の余地は余りあるほどたくさんあると思います。使っている社員のみなさんは気付かないかもしれないですが、きっと不安定だった通信環境も改善されると思うし、今まで遅っ!と思っていた部分のレスポンスがきっと知らぬ間に速くなります。まあ見ててください(笑)

以前書いたかと思いますが、こんな仕事してますが今はシステムチームの一員じゃなくて別の部署にいます。部署移動したため技術職から事務職に職種が変えられちゃって、技術手当がなくなってしまいました。ぶっちゃけ給料結構さがりました。一応軽く抗議はしているものの、そこが改善されるかどうかは会社の方の判断にお任せするしかなく、それでもなんか作ったり直したりしてちょっとした効果が得られるだけでも結構うれしいもんです。そんな些細な喜びが明日のやる気につながります。やっぱ文句言いながら仕事するより楽しく働きたいですしね。なので明日もやる気出して喜びを手に入れようと思います。

それではまた。

いいなと思ったら応援しよう!