MySQL ストアドプロシージャ/ファンクションを使ってみよう!


いやー・・・本当に情報が少なくて苦労した。というか現在進行形で苦労してます。表題の通り、MySQLのストアドプロシージャ/ストアドファンクションの件なのですが、oracle触っているときも、db2触っているときも、「管理が複雑になるから」ともっともらしいことをいって避けていた道なんですけど、なんとなくわかったところで、「あ、これ結構つかえるじゃん?」と思ってきた。まあ、たしかにプロシージャ側がデータベースサーバサイドで動くわけなのでアプリケーションとの比重を考える必要があるかと思うけど、phpとでもjavaでもアプリケーション視点で考えてみれば、小難しいこと考えなくてもよくなるので、パラメータ渡したら期待した結果が戻ればそれで良いわけでSQLでの過程なんてどーでも良いわけだ、またある意味アプリケーションのプログラムと、ストアドプロシージャは分離されているので、細かい計算ロジックをストアドプロシージャ側で実装すれば、仕様変更があっても、もしかしたらストアドプロシージャだけを変更するだけですむかもしれないですしね。



続きを読む “MySQL ストアドプロシージャ/ファンクションを使ってみよう!”

Bash ヒアドキュメントとMySQLをうまく使おう!


MySQLとヒアドキュメントをうまく使いこなされば、さくっとSQLをファイルを作ることができます。はじめは戸惑いますが慣れれば簡単です。数百回はやったかも(^^;)



続きを読む “Bash ヒアドキュメントとMySQLをうまく使おう!”

DB2のバックアップ&リストア


DB2のバックアップ&リストアについての備忘録です。以下のケースの場合の想定で作成されたものになります。

” データベースをオンラインバックアップで取得している。
” データベースのバックアップにログを含めている。
上記条件に当てはまらない場合は、リストア、およびロールフォワードの手順が若干違いますので、ご注意をお願いします。



続きを読む “DB2のバックアップ&リストア”

MySQLのmy.cnf に日本語コメントを入れてみた


ども、すっかり暑くなりましたね。夜暑くて、寝つきが悪く、この季節は、本当にどろどろした朝をむかえます。
なるべくであればクーラーは使いたくないのですが、とにかく快眠することを優先で考えるのであれば、やはり使っちゃいますよね・・タイマー使って二時間後 に切れるように設定しております。とにかく寝ちゃえばこちらの勝ちです。その代わり、暑くてどろどろした朝をむかえるのは変わらないですが(笑

そしてMySQLの話です・・。ちなみに今回の話は、熱帯夜の話とはぜんぜん関係ありません。

logomysql



続きを読む “MySQLのmy.cnf に日本語コメントを入れてみた”

MySQL 二点間の距離を正確に出す!~ distance_sphere()


いきなりですが、「MySQLで2点間の緯度・経度から距離算出」が!!前から気になっていたことがありました、 PostgreSQLのPostGISにはあって、MySQLのジオメトリ関数にはない関数、distance_spheroid というもので、回転楕円体で計算で、点間距離を算出する関数なのですが、これが、MySQLには実装されていないため、PostGISを使うか、 MySQLを使うかずっと悩んでいたのですが、MySQLのストアドファンクションを利用して、このdistance_spheroidが実現できないか な?と考えていたところ、ほぼ誤差ゼロで二点間の距離が算出できるようなものができましたので、ここに掲載したいと思います。




知らなかった・・ ALTER TABLE .. ON UPDATE オプションの存在


logomysql MariaDB_Logo_from_SkySQL_Ab

いやーーー全然・・知らなかったですが・・ALTER TABLEっていうかCREATE TABLEの時も同じですが、ON UPDATE オプションを付けると、データ更新時に指定された値を自動でセットすることができるらしい。。

DEFAULTとは違います!DEFAULT とは。。

続きを読む “知らなかった・・ ALTER TABLE .. ON UPDATE オプションの存在”

オートナンバー型のカラムを含むテーブルをパーティショニング化する方法


logomysql

非パーティショニングテーブルを後から、パーティショニングする際にかならずハマるのが”オートインクリメント列を含む”テーブルに関する、パーティショニングの時です
その回避策について、以下にまとめました。ご参考になればと思います。



続きを読む “オートナンバー型のカラムを含むテーブルをパーティショニング化する方法”