- - PR -
viewの乱用についての質問
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-08-18 17:29
開発環境は、Java,Struts,hibernate,oracle10gを使用しております。
現在のプロジェクトでSQLを書くのが面倒なので先に色々なviewを作成して置いて必要な都度そのviewを使用する。と言う考えを持ったPMが居ます。 複雑なSQLをviewにして、それを呼べば問題ないでしょうtって言ってましたが・・・・! さて、ここで質問なのですが、このようにviewの乱用というのは如何なものなのでしょうか?問題ありですか?問題無いものでしょうか? 私、自身SQLに自信が無いので皆さんの意見をお聞かせ下さい。 | ||||||||
|
投稿日時: 2008-08-18 17:44
乱用は当然問題ありです。理由があって多用するのは問題無しでしょう?
それから例えば、viewとhibernateの相性、などは気になります。 | ||||||||
|
投稿日時: 2008-08-18 17:49
さかもとと申します。
どの辺りの頻度からViewの「乱用」と言えるのかがよくわかりませんが、要件次第で幅が出てくるかと思います。 そのPMにもViewを多用したい理由というのがあるかと思うのですが、「ただ面倒だから」以外の理由を何かお聞きになりましたか? _________________ ------------------------------------------ 拝啓、さかもとと申します♪ | ||||||||
|
投稿日時: 2008-08-18 17:50
viewにするにせよしないにせよ、SQLは書くことになると思いますが、 私としては、 1. コードの中にSQLが埋め込まれるのを避ける 2. データベースロジックを一元化する 上記の目的で、viewやストアドをよく作ります。 | ||||||||
|
投稿日時: 2008-08-18 18:02
さかもと様、貴重なご意見ありがとうございます。
確かに、「乱用」の使い方としては誤りであって、確かに要件次第で幅が出てくるので「多用」と表現するのが適切だと思われます。
こちらの件ですが、、「ただ面倒だから」以外の理由は多分現段階のプログラマーの方々に普通のSQLを書けるレベルの方がいらっしゃらない為だと思われます。 その為に、難しくなるSQLをviewにしておけば良いとの考えだと思われます。 | ||||||||
|
投稿日時: 2008-08-18 18:29
VIEWは幾ら使っても問題無いと思います。
ただ、一つ気になったのが・・・ VIEWのVIEWにしている場合、パフォーマンスが低下する場合がありますので その点だけは注意した方が良いと思います。 (VIEWのVIEWを多用している場合「乱用」と言っても良いかもしれません) | ||||||||
|
投稿日時: 2008-08-18 18:57
複数テーブルのビューを作成した場合の副問い合わせについては
パフォーマンスに注意が必要です。 単一テーブルのビューなら特に気にする必要はないかな。 ビューのパフォーマンスに注意 http://itpro.nikkeibp.co.jp/article/COLUMN/20060322/232971/?SS=imgview&FD=7256014&ST=system | ||||||||
|
投稿日時: 2008-08-18 19:25
私は VIEW は、昔 SQL をコマンドプロンプトのように対話型の言語として使っていた時代の名残だと思っています。
現代、SQL をそのように対話的に使うことはまずないと思います。せいぜいデバッグのときぐらいでしょう。したがって、私なら、よほどの理由がないかぎり VIEW を使わないほうを選択します。 よほどの理由とは、実運用時にも、SQL 用のコマンドラインツールを使って対話型に SQL を発行するのが普通のシステムだったり、DBMS の都合で VIEW じゃないとできなかったりパフォーマンスが悪い場合などです。 |