MySQL VIEW作成時の制限

2009/12/02 | MySQL

少し前に設計・開発期間が当初の予定より大幅に短くなってしまった案件があった。しかし諸事情で納期は絶対ということもあり、何とか形にしたけれど、当然バグがあるし、月日がたてばボロが出てくる。バグはその場で直していけばよいのだが、データ量が増えてウェブアクセスが重くなったりする部分はそもそも根本の問題なので簡単には直すことが出来ない(設計出来てないわけで・・・)。

現在その問題を解決するにあたり、SQL文を練りなおしている。当時は考える時間がまったくなかったし(とにかくプログラムを書き進めないと絶対間に合わないという状況だった)、データベースをデータ格納庫としか思っていなかったので、結果としてデータがたまってくると複雑な処理をしているところが遅くなってきているのだ。まぁ、こういう問題を経験したからこそ、複雑なシステムを組む際は速度面を考慮してデータを作成しているのだが・・・。

で、ちょっと複雑(専門家にとってみればまだまだ短いのだが)なSQL文を3時間ほどかけて作り、うまく動いて喜んでいたところ、「あ、ちょっとVIEWにしてみよ」っと思ったけどこれが出来ない。MySQLはバージョン5からVIEWが使えるようになったのだが、実はVIEWをほとんど使っていなかった・・・。PostgreSQLなんかは覚えたてのころ(バージョン6とか7だったかな)からVIEWが使えていたわけで、最初からそういう機能があったのでよく使っていたけど、MySQLみたいに途中から追加された機能って勢いがないと踏み込めなくって・・・と言い訳してみる。で、VIEWが作れなくて調べたらマニュアルに記述。

ビューのFROM句でサブクエリを使用することはできません。この制限はいずれ取り除かれる予定です。

「あらまー」。もしくは「ふーん」。一言で終わってしまった。前置き長すぎた。


守谷市(まちの情報ポータル) 無料アンケートレンタルjpForm.net